import { FcrChatConnector } from '../chat-connector/type';
import { AgoraRteEngine, AgoraRteEntryRoomResponse, AgoraRteScene } from '../imports';
import { FcrCoreServiceApi } from '../service/api';
import { FcrCoreEngineConfig, FcrMonitorControl } from '../type';
import { FcrSharedCache } from './shared-cache';
import { FcrRoomType } from './type';
/**
 * 房间控制的创建参数
 */
export interface RoomControlCreationParams {
    engine: AgoraRteEngine;
    scene: AgoraRteScene;
    apiService: FcrCoreServiceApi;
    config: FcrCoreEngineConfig;
    chatConnection: FcrChatConnector;
    sharedCache: FcrSharedCache;
    roomResponse: AgoraRteEntryRoomResponse;
    monitorControl: FcrMonitorControl;
}
/**
 * 房间控制工厂类
 * 负责根据房间类型创建相应的房间控制实例
 */
export declare class RoomControlFactory {
    /**
     * 创建房间控制实例
     * @param params 创建参数
     * @returns 房间控制实例
     * @throws {FcrError} 当房间类型不支持时抛出错误
     */
    static create(params: RoomControlCreationParams): any;
    /**
     * 验证房间类型是否受支持
     * @param roomType 房间类型
     * @returns 是否支持
     */
    static isRoomTypeSupported(roomType: FcrRoomType): boolean;
    /**
     * 获取所有支持的房间类型
     * @returns 支持的房间类型数组
     */
    static getSupportedRoomTypes(): FcrRoomType[];
}
