export default Janus;
declare class Janus {
    constructor(config: any, logger: any);
    ws: any;
    isConnected: boolean;
    sessionId: any;
    logger: any;
    transactions: {};
    pluginHandles: {};
    config: any;
    protocol: string;
    sendCreate: boolean;
    connect(): Promise<any>;
    /**
     *
     * @param {JanusPlugin} plugin
     * @return {Promise}
     * */
    addPlugin(plugin: JanusPlugin): Promise<any>;
    transaction(type: any, payload: any, replyType: any, timeoutMs: any): Promise<any>;
    send(type: any, payload: any): Promise<any>;
    /**
       * Send a data message.
       *
       * @param {*} data The message to send
       * @param {Object} options Options object
       * @param {Function} cb Callback which is executed when data is written out
       * @public
       */
    public websocketSend(data: any, options: Object, cb: Function): void;
    destroy(): Promise<void>;
    destroyPlugin(plugin: any): Promise<any>;
    onMessage(messageEvent: any): void;
    onClose(): void;
    keepAlive(isScheduled: any): void;
    getTransaction(json: any, ignoreReplyType?: boolean): any;
    cleanup(): void;
    _cleanupWebSocket(): void;
    _cleanupPlugins(): void;
    _cleanupTransactions(): void;
}
import JanusPlugin from './JanusPlugin.js';
