import { IAgoraRTCClient } from "agora-rtc-sdk-ng";
import { AgoraConfig } from "../agora-config";
import { IJoinChannelApply, IAudioTrack, IAudioJoinChannel } from "../core/interfaces";
export declare class JoinAudioChannel implements IAudioJoinChannel<IAudioTrack> {
    client: IAgoraRTCClient;
    config: AgoraConfig;
    channelName: string;
    token: string;
    uid?: string | undefined;
    private localAudioTrack;
    private requestInWait;
    constructor(client: IAgoraRTCClient, config: AgoraConfig, channelName: string, token: string, uid?: string | undefined);
    WithMediaStream(audioMediaStream: MediaStreamTrack): IJoinChannelApply<IAudioTrack>;
    WithMicrophone(microphoneId: string): IJoinChannelApply<IAudioTrack>;
    Apply(): Promise<IAudioTrack>;
}
//# sourceMappingURL=join-audio-channel.d.ts.map