import { AgoraRteEngineConfig, AgoraRteOptions } from 'agora-rte-sdk';
import { EduSessionInfo, EduRoleTypeEnum, EduRoomTypeEnum } from '../type';
export interface WhiteboardDefaults {
    scale: number;
}
export declare enum Platform {
    PC = "PC",
    H5 = "H5"
}
export declare class EduClassroomConfig {
    private static _classroomConfig?;
    static get shared(): EduClassroomConfig;
    static setConfig(config: EduClassroomConfig): void;
    readonly appId: string;
    readonly recordUrl: string;
    readonly platform: Platform;
    private _rteEngineConfig;
    private _sessionInfo;
    private _currentAPIVersion;
    private _compatibleVersions;
    private _openCameraDeviceAfterLaunch;
    private _openRecordingDeviceAfterLaunch;
    private _recordRetryTimeout;
    boardDefaults: WhiteboardDefaults;
    get headers(): Record<string, string | number>;
    constructor(appId: string, sessionInfo: EduSessionInfo, recordUrl: string, rteOpts?: AgoraRteOptions, platform?: Platform, options?: {
        openCameraDeviceAfterLaunch?: boolean;
        openRecordingDeviceAfterLaunch?: boolean;
        recordRetryTimeout?: number;
    });
    get sessionInfo(): EduSessionInfo;
    setCompatibleVersions(compatibleVersions: string[]): void;
    get host(): string | undefined;
    set host(host: string | undefined);
    get ignoreUrlRegionPrefix(): boolean;
    set ignoreUrlRegionPrefix(ignoreUrlRegionPrefix: boolean);
    get isLowAPIVersionCompatibleRequired(): boolean;
    get rteEngineConfig(): AgoraRteEngineConfig;
    get openCameraDeviceAfterLaunch(): boolean;
    get openRecordingDeviceAfterLaunch(): boolean;
    get recordRetryTimeout(): number;
    static getVersion(): string;
    static getRtcVersion(): string;
    static defaultMediaOptions(roomType: EduRoomTypeEnum, userRole: EduRoleTypeEnum): {
        width: number;
        height: number;
        frameRate: number;
        bitrate: number;
    };
    static defaultLowStreamParameter(): {
        width: number;
        height: number;
        frameRate: number;
        bitrate: number;
    };
}
