import { IAgoraRTCClient } from "agora-rtc-sdk-ng";
import { AgoraConfig } from "../agora-config";
import { IVideoTrack, IJoinChannelApply, IVideoJoinChannel } from "../core/interfaces";
export declare class JoinVideoChannel implements IVideoJoinChannel<IVideoTrack> {
    client: IAgoraRTCClient;
    config: AgoraConfig;
    channelName: string;
    token: string;
    uid?: string | undefined;
    private localVideoTrack;
    private requestInWait;
    constructor(client: IAgoraRTCClient, config: AgoraConfig, channelName: string, token: string, uid?: string | undefined);
    WithMediaStream(mediaStream: MediaStreamTrack): IJoinChannelApply<IVideoTrack>;
    WithCamera(cameraId: string): IJoinChannelApply<IVideoTrack>;
    Apply(): Promise<IVideoTrack>;
}
//# sourceMappingURL=join-video-channel.d.ts.map