import { CancellationToken } from "../../../../base/common/cancellation.js";
import { Event } from "../../../../base/common/event.js";
import { IDisposable } from "../../../../base/common/lifecycle.js";
import { GroupIdentifier } from "../../../common/editor.js";
import { IEditorGroup } from "../../../services/editor/common/editorGroupsService.js";
import { ACTIVE_GROUP_TYPE, SIDE_GROUP_TYPE } from "../../../services/editor/common/editorService.js";
import { WebviewInitInfo } from "@codingame/monaco-vscode-972e8507-3a64-566d-8bc0-b78993998562-common/vscode/vs/workbench/contrib/webview/browser/webview";
import { WebviewInput } from "@codingame/monaco-vscode-972e8507-3a64-566d-8bc0-b78993998562-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput";
import { WebviewIconManager, WebviewIcons } from "@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewIconManager";
import { IWebViewShowOptions, WebviewResolver } from "@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService";
export declare const IWebviewWorkbenchService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IWebviewWorkbenchService>;
export interface IWebviewWorkbenchService {
    readonly _serviceBrand: undefined;
    readonly iconManager: WebviewIconManager;
    readonly onDidChangeActiveWebviewEditor: Event<WebviewInput | undefined>;
    openWebview(webviewInitInfo: WebviewInitInfo, viewType: string, title: string, showOptions: IWebViewShowOptions): WebviewInput;
    openRevivedWebview(options: {
        webviewInitInfo: WebviewInitInfo;
        viewType: string;
        title: string;
        iconPath: WebviewIcons | undefined;
        state: any;
        group: number | undefined;
    }): WebviewInput;
    revealWebview(webview: WebviewInput, group: IEditorGroup | GroupIdentifier | ACTIVE_GROUP_TYPE | SIDE_GROUP_TYPE, preserveFocus: boolean): void;
    registerResolver(resolver: WebviewResolver): IDisposable;
    shouldPersist(input: WebviewInput): boolean;
    resolveWebview(webview: WebviewInput, token: CancellationToken): Promise<void>;
}
