import { ConfigManager } from "./config/ConfigManager";
import { EventDispatcher } from "./events/EventDispatcher";
import { Logger } from "./logger/Logger";
import { ClientUser } from "./model/ClientUser";
import { IPlayer } from "./player/IPlayer";
import { WebRTCStreamer } from "./streamer/WebRTCStreamer";
import { StorageManager } from "./storage/StorageManager";
import { StormStreamConfig } from "./types/StormStreamConfig";
export declare class StormLibrary extends EventDispatcher {
    private readonly LIBRARY_VERSION;
    private readonly COMPILE_DATE;
    private readonly LIBRARY_BRANCH;
    private readonly PLAYER_PROTOCOL_VERSION;
    private config;
    private libraryID;
    private initialized;
    private restartOnVisibility;
    private logger;
    private videoContainer;
    internalPlayer: IPlayer;
    internalStreamer: WebRTCStreamer;
    private gatewayConnection;
    private storageManager;
    private clientUser;
    private streamConfig;
    private isDocumentFocused;
    constructor(streamConfig: StormStreamConfig);
    private onVisibilityChange;
    initialize(): void;
    private startPlayer;
    addEventListener(eventName: string, callback: any, thisRef?: any, priority?: number, logMessage?: string): boolean;
    removeEventListener(eventName: string, callback: any): boolean;
    getLibraryID(): number;
    getConfig(): ConfigManager;
    getClientUser(): ClientUser;
    getRole(): string;
    getVersion(): string;
    getBranch(): string;
    stop(): void;
    play(force?: boolean): void;
    pause(): void;
    togglePlay(): void;
    seek(newPoint: number): boolean;
    isPlaying(): boolean;
    getPlaybackStatus(): string;
    mute(): void;
    unmute(): void;
    isMute(): boolean;
    setVolume(newVolume: number): void;
    getVolume(): any;
    toggleMute(): void;
    setSize(width: number | string, height: number | string): void;
    setWidth(width: number | string): void;
    setHeight(height: number | string): void;
    getWidth(): number;
    getHeight(): number;
    makeScreenshot(): string;
    setCamera(deviceID: string | boolean): void;
    setMicrophone(deviceID: string | boolean): void;
    isMicrophoneMuted(): any;
    toggleCamera(): void;
    setScalingMode(newMode: string): void;
    getScalingMode(): string;
    restart(): void;
    getCurrentSource(): any;
    getAllSources(): any;
    getAvailableQualities(): any;
    setQuality(sourceName: string): boolean;
    getCurrentQuality(): string;
    addStreamSource(sourceItem: any, addAndPlay: boolean): boolean;
    getAbsoluteStreamTime(): number;
    getLogger(): Logger;
    getSettingsAsJSON(): string;
    getSettings(): any;
    getPlayerProtocolVersion(): number;
    isInitialized(): boolean;
    getStorageManager(): StorageManager;
    destroy(): void;
}
