using BotSharp.Platform.Models;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace BotSharp.Platform.Abstraction
{
///
/// Platform abstraction
/// Implement this interface to build a Chatbot platform
///
public interface IPlatformBuilder
where TStorage : IAgentStorage, new()
{
///
/// Parse options for the incoming text or voice request from the sender.
///
// DialogRequestOptions RequestOptions { get; set; }
///
/// Convert platform specific agent to standard agent format
///
///
///
StandardAgent StandardizeAgent(TAgent agent);
///
/// Recover standard agent to specific agent format
///
///
///
TAgent RecoverAgent(StandardAgent agent);
///
///
///
///
///
///
bool SaveAgent(StandardAgent agent);
StandardAgent GetAgentById(string agentId);
}
}