import { HMSAction } from './HMSAction';
import { HMSException } from './HMSException';
import { HMSTrackException } from './HMSTrackException';
import { HMSSignalMethod } from '../signal/jsonrpc/models';
export declare const ErrorFactory: {
    WebSocketConnectionErrors: {
        FailedToConnect(action: HMSAction, description?: string): HMSException;
        WebSocketConnectionLost(action: HMSAction, description?: string): HMSException;
        AbnormalClose(action: HMSAction, description?: string): HMSException;
    };
    APIErrors: {
        ServerErrors(code: number, action: HMSAction, description?: string, isTerminal?: boolean): HMSException;
        EndpointUnreachable(action: HMSAction, description?: string): HMSException;
        InvalidTokenFormat(action: HMSAction, description?: string): HMSException;
        InitConfigNotAvailable(action: HMSAction, description?: string): HMSException;
    };
    TracksErrors: {
        GenericTrack(action: HMSAction, description?: string): HMSTrackException;
        CantAccessCaptureDevice(action: HMSAction, deviceInfo: string, description?: string): HMSTrackException;
        DeviceNotAvailable(action: HMSAction, deviceInfo: string, description?: string): HMSTrackException;
        DeviceInUse(action: HMSAction, deviceInfo: string, description?: string): HMSTrackException;
        DeviceLostMidway(action: HMSAction, deviceInfo: string, description?: string): HMSTrackException;
        NothingToReturn(action: HMSAction, description?: string, message?: string): HMSTrackException;
        InvalidVideoSettings(action: HMSAction, description?: string): HMSTrackException;
        AutoplayBlocked(action: HMSAction, description?: string): HMSTrackException;
        CodecChangeNotPermitted(action: HMSAction, description?: string): HMSTrackException;
        OverConstrained(action: HMSAction, deviceInfo: string, description?: string): HMSTrackException;
        NoAudioDetected(action: HMSAction, description?: string): HMSTrackException;
        SystemDeniedPermission(action: HMSAction, deviceInfo: string, description?: string): HMSTrackException;
        CurrentTabNotShared(): HMSTrackException;
        AudioPlaybackError(description: string): HMSTrackException;
        SelectedDeviceMissing(deviceType: string): HMSTrackException;
        NoDataInTrack(description: string): HMSTrackException;
    };
    WebrtcErrors: {
        CreateOfferFailed(action: HMSAction, description?: string): HMSException;
        CreateAnswerFailed(action: HMSAction, description?: string): HMSException;
        SetLocalDescriptionFailed(action: HMSAction, description?: string): HMSException;
        SetRemoteDescriptionFailed(action: HMSAction, description?: string): HMSException;
        ICEFailure(action: HMSAction, description?: string, isTerminal?: boolean): HMSException;
        ICEDisconnected(action: HMSAction, description?: string): HMSException;
        StatsFailed(action: HMSAction, description?: string): HMSException;
    };
    WebsocketMethodErrors: {
        ServerErrors(code: number, action: HMSAction | HMSSignalMethod, description: string): HMSException;
        AlreadyJoined(action: HMSAction, description?: string): HMSException;
        CannotJoinPreviewInProgress(action: HMSAction, description?: string): HMSException;
    };
    GenericErrors: {
        NotConnected(action: HMSAction, description?: string): HMSException;
        Signalling(action: HMSAction, description: string): HMSException;
        Unknown(action: HMSAction, description: string): HMSException;
        NotReady(action: HMSAction, description?: string): HMSException;
        JsonParsingFailed(action: HMSAction, jsonMessage: string, description?: string): HMSException;
        TrackMetadataMissing(action: HMSAction, description?: string): HMSException;
        RTCTrackMissing(action: HMSAction, description?: string): HMSException;
        PeerMetadataMissing(action: HMSAction, description?: string): HMSException;
        ValidationFailed(message: string, entity?: any): HMSException;
        InvalidRole(action: HMSAction, description: string): HMSException;
        PreviewAlreadyInProgress(action: HMSAction, description?: string): HMSException;
        LocalStorageAccessDenied(description?: string): HMSException;
        MissingMediaDevices(): HMSException;
        MissingRTCPeerConnection(): HMSException;
    };
    MediaPluginErrors: {
        PlatformNotSupported(action: HMSAction, description?: string): HMSException;
        InitFailed(action: HMSAction, description?: string): HMSException;
        ProcessingFailed(action: HMSAction, description?: string): HMSException;
        AddAlreadyInProgress(action: HMSAction, description?: string): HMSException;
        DeviceNotSupported(action: HMSAction, description?: string): HMSException;
    };
    PlaylistErrors: {
        NoEntryToPlay(action: HMSAction, description: string): HMSException;
        NoEntryPlaying(action: HMSAction, description: string): HMSException;
    };
};
