import { default as HttpClient } from './http'; import { IMeetingInfo, IToken, XYActionKey } from '../type/index'; import { default as Logger } from '../tools/log/logger'; import { default as AuthAction } from './auth'; import { default as ConfigAction } from './config'; import { default as MeetingAction } from './meeting'; import { default as EnterpriseAction } from './enterprise'; import { default as MeetingControlAction } from './control'; import { default as LogAction } from './log'; import { XYEmitter } from '@xylink/xy-toolkit'; import { XyEncryption } from '@xylink/xy-encryption'; export interface ICommonParams { securityKey: string; callUri?: string; } declare class Action extends XYEmitter { logger: Logger | null; private commonParams; private randomDeviceSN; private http; private logHttp; private meetingInfo; private httpDefaultBaseUrl; private logHttpDefaultBaseUrl; private authAction; private configAction; private meetingAction; private enterpriseAction; private meetingControlAction; private logAction; xyEncryption: XyEncryption; private encryptedKey; constructor(logger?: Logger); handleRefreshToken(data: any): void; getClientInfo(): { clientType: string; clientId: string; clientSecret: string; 'n-ua': string; }; getAuthAction(): AuthAction; getConfigAction(): ConfigAction; getMeetingAction(): MeetingAction; getMeetingControlAction(): MeetingControlAction; getEnterpriseAction(): EnterpriseAction; getLogAction(): LogAction; getHttpClient(): HttpClient; getLogHttpClient(): HttpClient; getRandomDeviceSN(): string; getCommonParams(): ICommonParams; getTokenInfo(): IToken; getMeetingInfo(): IMeetingInfo; /** * 设置服务器地址 * * @param { object } options - 包含基本URL和日志URL的对象。 * @property { string } options.baseUrl - 服务器的基本URL。 * @property { string } options.logUrl - 日志服务器的URL。 */ setBaseUrl({ baseUrl, logUrl }: { baseUrl?: string; logUrl?: string; }): void; generateKey(): Promise; /** * 设置API网关校验信息 * * @param { object } options - API网关校验信息 * @property { string } options.clientId - 网关校验 * @property { string } options.clientSecret - 网关密钥 */ setClientInfo({ clientId, clientSecret }: { clientId: string; clientSecret: string; }): void; /** * 设置会议相关会议,用于后续请求 * * @param { IMeetingInfo } info - 会议相关信息 */ setMeetingInfo(info: IMeetingInfo): void; /** * 设置token相关信息 * * @param { IToken | null } tokenInfo - token信息 */ setTokenInfo(tokenInfo: IToken | null): void; /** * 设置默认参数,如securityKey * * @param { Record } data - 参数 */ setCommonParams(data: Record): void; } export default Action;