import WebhookService from '../../webhook/index.cjs';
export { BotPayload, Config, Payload } from './types.cjs';
import '../../base/message.cjs';
import '../../webhook/connector.cjs';

/**
 * @class
 * handle the socket communication
 * Also dispatch the action to handle data
 */
declare class ChatBotConnecter extends WebhookService {
    /** @property unique id to identify instance of message service and */
    private readonly _id;
    private readonly _url;
    /**
     * @constructor
     * bind this to the super class methods
     * Bind Methods to use WebhookService class method in them
     */
    constructor(url: string, id: string);
    /**
     * @method
     * Create a connection with socketIO
     */
    _onConnect<T>(payload: Record<string, unknown>): Promise<T>;
    /**
     * @method
     *  handle the message with socket
     */
    sendMessage<T>(payload: Record<string, unknown>): Promise<T>;
    /**
     * @method
     * Release the socket connection
     */
    private _onDisconnect;
}

export { ChatBotConnecter as default };
