import { XYBaseModule } from '../../interface/baseModule.type'; import { default as LayoutManager } from './index'; import { default as Client } from '../client'; import { ContentTemplateMode, LayoutConfig, TemplateMode, XYCurrentMultiLayoutType } from '../../type/index'; export declare class XYLayoutManagerState implements XYBaseModule { private client; private logger; private layoutManager; private isLocalShareContent; private isContentMode; private isChairmanMode; private isInDialogMode; private isEnableHideLocalView; private forceFullScreenId; private layoutConfig; private templateMode; private cacheTemplateMode; private currentMultiLayoutType; constructor(client: Client, layout: LayoutManager); /** * 获取当前轮询多画面布局类型 * * @returns { XYCurrentMultiLayoutType } - 当前轮询多画面布局类型 支持轮询SVC、轮询AVC、多画面AVC */ getCurrentMultiLayoutType(): XYCurrentMultiLayoutType; /** * 设置当前轮询多画面布局类型 * * @param { XYCurrentMultiLayoutType } type - 新的布局类型 * @returns { XYCurrentMultiLayoutType } - 新的布局类型 */ setCurrentMultiLayoutType(type: XYCurrentMultiLayoutType): XYCurrentMultiLayoutType; /** * 是否是多画面AVC或轮询多画面AVC布局 * * @returns { boolean } - 是否是多画面AVC或轮询多画面AVC布局 */ isMultiAVCLayout(): boolean; /** * 是否是轮询/多画面SVC布局 * * @returns { boolean } - 是否是轮询SVC布局 */ isMultiSVCLayout(): boolean; /** * 是否是多画面SVC布局 * * @returns { boolean } - 是否是多画面布局 */ isMultiViewLayout(): boolean; /** * 是否是轮询SVC布局 * * @returns { boolean } - 是否是轮询SVC布局 */ isPollingSVCLayout(): boolean; /** * 获取Layout Config配置信息 * * @returns { LayoutConfig } - 配置信息 */ getLayoutConfig(): LayoutConfig; /** * 更新Layout Config配置信息 * * @param { LayoutConfig } layoutConfig - 新的配置信息 * @returns { LayoutConfig } - 配置信息 */ setLayoutConfig(layoutConfig: LayoutConfig): LayoutConfig; /** * 获取是否是Content模式 * * @returns { boolean } - 是否是Content模式 */ getIsContentMode(): boolean; /** * 获取是否是主会场模式 * * @returns { boolean } - 是否是主会场模式 */ getIsChairmanMode(): boolean; /** * 更新是否是主会场模式(远端设置为主会场) * * 会控下发的chairmanUri标识当前会议设置了主会场, * 会控的chairmanUri有值时,媒体下发的chairManUrl才标识最终入会的主会场的CallUri */ updateIsChairmanMode(): boolean; /** * 获取是否是隐藏本地画面模式 * * @returns { boolean } - 是否是隐藏本地画面模式 */ getIsEnableHideLocalView(): boolean; /** * 是否开启隐藏本地模式 * * @returns { boolean } - 是否是隐藏本地画面模式 */ updateIsEnableHideLocalView(): boolean; /** * 获取是否是对话模式 * * @returns { boolean } - 是否是对话模式 */ getIsInDialogMode(): boolean; /** * 当前是否是对话模式,且没有发送或接收content * content优先级大于对话模式 * * @returns { boolean } - 是否是对话模式 */ updateIsInDialogMode(): boolean; /** * 更新Content模式 * * @returns { boolean } - 是否是Content模式 */ updateIsContentMode(): boolean; /** * 获取是否是本地分享Content模式 * * @returns { boolean } - 是否是本地分享Content模式 */ getIsLocalShareContent(): boolean; /** * 设置本地分享Content模式 * * @param { boolean } is - 是否是本地分享Content模式 * @returns { boolean } - 是否分享Content */ setIsLocalShareContent(is: boolean): boolean; /** * 获取当前模版模型 * * @returns { TemplateMode | ContentTemplateMode } - 模版模型 */ getTemplateMode(): TemplateMode | ContentTemplateMode; /** * 设置模版模型 * * @param { TemplateMode | ContentTemplateMode } mode - 新的模版模型 * @returns { TemplateMode | ContentTemplateMode } - 返回最新的模型 */ setTemplateMode(mode: TemplateMode | ContentTemplateMode): TemplateMode | ContentTemplateMode; /** * 获取缓存的模版模型 * * @returns { TemplateMode | ContentTemplateMode } - 模版模型 */ getCacheTemplateMode(): TemplateMode | ContentTemplateMode; /** * 设置缓存模版模型 * * @param { TemplateMode | ContentTemplateMode } mode - 新的缓存的模型 * @returns { TemplateMode | ContentTemplateMode } - 返回缓存的模型 */ setCacheTemplateMode(mode: TemplateMode | ContentTemplateMode): TemplateMode | ContentTemplateMode; /** * 获取强制全屏ID * * @returns { string } - 强制全屏ID */ getForceFullScreenId(): string; /** * 设置全屏ID * * @param { string } id - 新的全屏ID * @returns { string } - 全屏ID */ setForceFullScreenId(id: string): string; /** * 判断是否应该使用自动布局下的通用布局模式 * 支持:通用布局模式/多画面布局模式(包含轮询多画面) * * 场景:在自动布局模式下,根据会议状态判断使用通用布局还是多画面布局 * - 通用布局:适用于正常会议场景布局,例如焦点画面,分页,宫格布局,演讲者布局,Content布局等; * - 多画面布局:适用于多画面,轮询多画面下的AVC/SVC布局; */ shouldUseGeneralLayout(): boolean; /** * 获取Layout布局状态 * * @returns { object } */ getCurrentState(): { isForceLayout: boolean; isInDialogMode: boolean; isContentMode: boolean; isPolling: boolean; isSwitchToGeneralLayout: boolean; }; /** * 资源销毁 */ destroy(): void; }