import { EVENT } from './events'; import { Config } from './modules/config'; /** @hidden */ export { EVENT } from './events'; type Call = { resolve: (value: T) => void; reject: (reason?: unknown) => void; onData?: (data: T) => void; onComplete?: () => void; signal?: AbortSignal; }; declare global { interface Window { $mujian: MujianSdk; } } declare class MujianSdk { /** @hidden */ private constructor(); /** * 事件 * @enum {string} */ static EVENT: typeof EVENT; /** @hidden */ static getInstance(): MujianSdk; /** @hidden */ private parent; /** @hidden */ private ready; /** * 是否初始化 */ get isReady(): boolean; /** @hidden */ private pendingRequests; private _config?; get openapi(): Config['openapi'] | undefined; private initPromise; /** * 初始化 */ init(): Promise; /** @hidden */ emit(event: EVENT, data?: T): void; /** @hidden */ private nextCallId; /** @hidden */ private getCallId; /** @hidden */ call(event: EVENT, data?: Req, controller?: Pick, 'onData' | 'onComplete' | 'signal'>): Promise; /** * @namespace ai * @description AI */ ai: any; ui: {}; utils: { clipboard: { writeText: (text: string) => Promise; }; }; hybrid: {}; player: {}; game: { assets: () => void; saves: { saveGame: () => Promise; loadGame: () => Promise; }; ranking: () => void; }; } export { MujianSdk };