/// <reference types="node" />
import EventEmitter from 'events';
import ConfigurationBase from './configuration.base';
import { ConfigurationType } from '../types/vroomSDK.base';
import HelperFunction from './helper.function';
import { JoinResponseType } from '../types/message';
import VroomParticipant from '../types/publisher';
import VroomVideoPlugin from '../plugins/vroom-video.plugin';
declare const SdkBase_base: import("ts-mixer/dist/types/types").Class<any[], EventEmitter & ConfigurationBase & HelperFunction, typeof EventEmitter & typeof ConfigurationBase & typeof HelperFunction, false>;
export default class SdkBase extends SdkBase_base {
    wsConn: WebSocket | any;
    mapTransactions: Map<any, any>;
    canJoin: boolean;
    streams: any[];
    joined: boolean;
    attendees: any[];
    roomId: number;
    constructor(config: ConfigurationType);
    joinStart(pub: VroomVideoPlugin, sub: VroomVideoPlugin, stream: MediaStream, audio: boolean, video: boolean, canJoin: boolean, config: ConfigurationType): Promise<void | JoinResponseType>;
    receivePublisher(sub: VroomVideoPlugin, publisher: VroomParticipant[], privateId: number): Promise<void>;
}
export {};
