import { Event, IDisposable } from '@opensumi/ide-core-common'; export interface IWindowInfo { windowId: number; webContentsId: number; } export interface IMainThreadIDEWindow { $createWebviewWindow(webviewId: string, options?: IIDEWindowWebviewOptions, env?: IIDEWindowWebviewEnv): Promise; $show(webviewId: string): Promise; $hide(webviewId: string): Promise; $postMessage(webviewId: string, message: any): Promise; $loadURL(webviewId: string, url: string): Promise; $destroy(webviewId: string): Promise; $setSize(webviewId: string, size: { width: number; height: number; }): Promise; $setAlwaysOnTop(webviewId: string, flag: boolean): Promise; } export interface IExtHostIDEWindow { $postMessage(webviewId: string, message: any): Promise; $dispatchClosed(webviewId: string): Promise; } export interface IIDEWindowWebviewOptions { /** * 窗口宽度,默认 `800` */ width?: number; /** * 窗口高度,默认 `600` */ height?: number; [key: string]: any; } export interface IIDEWindowWebviewEnv { /** * 注入webview中的环境变量 */ [key: string]: any; } export interface IExtPlainWebviewWindow extends IDisposable { /** * 加载webview窗口内的资源地址 * @param url */ loadUrl(url: string): Promise; /** * 隐藏webview窗口 */ hide(): Promise; /** * 展示webview窗口 */ show(): Promise; /** * 设置webview窗口大小 * @param size */ setSize(size: { width: number; height: number; }): Promise; /** * 设置webview窗口是否置顶 * @param flag */ setAlwaysOnTop(flag: boolean): Promise; /** * 传递消息至webview窗口 * @param message */ postMessage(message: any): Promise; /** * 接收webview窗口回传消息事件 */ onMessage: Event; /** * 接收webview窗口关闭事件 */ onClosed: Event; } //# sourceMappingURL=window.d.ts.map