import { IRPCProtocol } from '@opensumi/ide-connection';
import { CancellationTokenSource, Emitter, Event } from '@opensumi/ide-core-common';
import { IExtensionHostService, IExtensionWorkerHost } from '../../../common';
import { IExtensionDescription, TextEditorCursorStyle, TextEditorSelectionChangeKind, ViewColumn } from '../../../common/vscode';
import { OverviewRulerLane } from '../../../common/vscode/models';
import * as workerExtTypes from './worker.ext-types';
import type * as vscode from 'vscode';
export declare function createAPIFactory(rpcProtocol: IRPCProtocol, extensionService: IExtensionHostService | IExtensionWorkerHost): (extension: IExtensionDescription) => {
    layout: {
        toggleBottomPanel: (size?: number) => Promise<unknown>;
        toggleLeftPanel: (size?: number) => Promise<unknown>;
        toggleRightPanel: (size?: number) => Promise<unknown>;
        showRightPanel: (size?: number) => Promise<unknown>;
        hideRightPanel: () => Promise<unknown>;
        activatePanel: (id: any) => Promise<unknown>;
        isBottomPanelVisible: () => Promise<unknown>;
        isLeftPanelVisible: () => Promise<unknown>;
        isRightPanelVisible: () => Promise<unknown>;
        getTabbarHandler: (id: string) => import("../../../common/sumi/layout").ITabbarHandler;
        getExtensionTabbarHandler: (id: string, extensionId?: string) => import("../../../common/sumi/layout").ITabbarHandler;
    };
    ideWindow: {
        reloadWindow: () => Promise<unknown>;
        createWebviewWindow: (webviewId: string, options?: import("../../../common/sumi/window").IIDEWindowWebviewOptions, env?: import("../../../common/sumi/window").IIDEWindowWebviewEnv) => Promise<import("../sumi/ext.host.window").ExtIDEWebviewWindow | undefined>;
    };
    webview: {
        getPlainWebviewHandle: (id: string) => import("../sumi/ext.host.webview").PlainWebviewHandle;
        createPlainWebview: (title: string, iconPath?: string) => import("../sumi/ext.host.webview").ExtHostPlainWebview;
    };
    lifecycle: {
        setExtensionDir: (dir: string) => void;
        setExtensionCandidate: (exts: import("@opensumi/ide-core-common").ExtensionCandidate[]) => void;
    };
    theme: {
        getThemeColors: (dir: string) => Promise<{
            [key: string]: string;
        }>;
        onThemeChanged: Event<void>;
    };
    event: {
        fire: (eventName: string, ...eventArgs: any[]) => Promise<unknown>;
        subscribe: (eventName: string, listener: (...eventArgs: any[]) => any) => import("@opensumi/ide-core-common").IDisposable;
    };
    reporter: import("@opensumi/ide-core-common").ReporterService;
    commands: {
        registerCommandWithPermit(id: string, handler: import("../../../common/vscode").Handler, isPermitted: import("../../../common/vscode").PermittedHandler): workerExtTypes.Disposable;
        registerCommand(command: string, callback: (...args: any[]) => any, thisArg?: any): vscode.Disposable;
        executeCommand<T>(command: string, ...rest: any[]): Thenable<T | undefined>;
        getCommands(filterInternal?: boolean): Thenable<string[]>;
        registerTextEditorCommand(command: string, callback: (textEditor: vscode.TextEditor, edit: vscode.TextEditorEdit, ...args: any[]) => void, thisArg?: any): vscode.Disposable;
        registerDiffInformationCommand(command: string, callback: (diff: vscode.LineChange[], ...args: any[]) => any, thisArg?: any): vscode.Disposable;
    };
    toolbar: {
        registerToolbarAction: <T>(contribution: import("../../../browser/sumi/types").IToolbarButtonContribution | import("../../../browser/sumi/types").IToolbarSelectContribution<T> | import("../../../browser/sumi/types").IToolbarDropdownButtonContribution<T>) => Promise<import("../../../common/sumi/toolbar").IToolbarButtonActionHandle | import("../../../common/sumi/toolbar").IToolbarSelectActionHandle<T> | import("../../../common/sumi/toolbar").IToolbarDropdownButtonActionHandle<T>>;
        getToolbarActionButtonHandle: (id: any) => Promise<import("../../../common/sumi/toolbar").IToolbarButtonActionHandle>;
        getToolbarActionSelectHandle: (id: any) => Promise<import("../../../common/sumi/toolbar").IToolbarSelectActionHandle<any>>;
        getToolbarActionDropdownButtonHandle: (id: any) => Promise<import("../../../common/sumi/toolbar").IToolbarDropdownButtonActionHandle<any>>;
    };
    chat: {
        createChatAgent(name: string, handler: import("sumi").ChatAgentHandler): import("sumi").ChatAgent;
        sendMessage(chunk: vscode.ChatAgentContent): void;
        createInlineChatAgent(name: string, handler: import("sumi").ChatAgentHandler): import("sumi").InlineChatAgent;
    };
    EventEmitter: typeof Emitter;
    CancellationTokenSource: typeof CancellationTokenSource;
    Event: typeof Event;
    ViewColumn: typeof ViewColumn;
    OverviewRulerLane: typeof OverviewRulerLane;
    TextEditorCursorStyle: typeof TextEditorCursorStyle;
    TextEditorSelectionChangeKind: typeof TextEditorSelectionChangeKind;
    version: string;
    env: Pick<typeof vscode.env, "language" | "appName" | "uriScheme" | "appRoot" | "clipboard" | "openExternal">;
    languages: typeof vscode.languages;
    extensions: {
        all: import("../../vscode.extension").Extension<any, any>[];
        allAcrossExtensionHosts: import("../../vscode.extension").Extension<any, any>[];
        readonly onDidChange: Event<void>;
        getExtension(extensionId: string): import("../../vscode.extension").Extension<any, import("../../../common").IExtensionHost> | undefined;
    };
    workspace: {
        rootPath: string | undefined;
        name: string | undefined;
        asRelativePath: (pathOrUri: string | workerExtTypes.Uri, includeWorkspaceFolder?: boolean) => string | undefined;
        updateWorkspaceFolders: (start: number, deleteCount: number | undefined | null, ...workspaceFoldersToAdd: {
            uri: workerExtTypes.Uri;
            name?: string;
        }[]) => boolean;
        onDidChangeWorkspaceFolders: Event<vscode.WorkspaceFoldersChangeEvent>;
        getWorkspaceFolder: (uri: any, resolveParent: any) => vscode.WorkspaceFolder | undefined;
        workspaceFolders: vscode.WorkspaceFolder[] | undefined;
        getConfiguration: (section: any, resource: any, extensionId: any) => import("../../../common/vscode").WorkspaceConfiguration;
        onDidChangeConfiguration: (listener: any, thisArgs?: any, disposables?: any) => import("@opensumi/ide-core-common").IDisposable;
        readonly isTrusted: boolean;
        requestWorkspaceTrust: (_options?: vscode.WorkspaceTrustRequestOptions) => boolean;
        onDidGrantWorkspaceTrust: Event<any>;
        openTextDocument: (uriOrFileNameOrOptions?: workerExtTypes.Uri | string | {
            language?: string;
            content?: string;
        }) => Promise<vscode.TextDocument>;
        onDidOpenTextDocument: Event<vscode.TextDocument>;
        onDidCloseTextDocument: Event<vscode.TextDocument>;
        onDidChangeTextDocument: Event<vscode.TextDocumentChangeEvent>;
        onWillSaveTextDocument: Event<vscode.TextDocumentWillSaveEvent>;
        onDidSaveTextDocument: Event<vscode.TextDocument>;
        registerTextDocumentContentProvider: (scheme: string, provider: vscode.TextDocumentContentProvider) => import("@opensumi/ide-core-common").IDisposable;
        registerTaskProvider: (type: any, provider: any) => import("@opensumi/ide-core-common").IDisposable;
        applyEdit: (edit: any, metadata?: vscode.WorkspaceEditMetadata) => Promise<boolean>;
        readonly textDocuments: vscode.TextDocument[];
        registerFileSystemProvider(scheme: any, provider: any, options: any): import("@opensumi/ide-core-common").IDisposable;
        readonly fs: vscode.FileSystem;
        createFileSystemWatcher: (pattern: any, ignoreCreate: any, ignoreChange: any, ignoreDelete: any) => vscode.FileSystemWatcher;
        onDidCreateFiles: (listener: (e: vscode.FileCreateEvent) => any, thisArg?: any, disposables?: vscode.Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onDidDeleteFiles: (listener: (e: vscode.FileDeleteEvent) => any, thisArg?: any, disposables?: vscode.Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onDidRenameFiles: (listener: (e: vscode.FileRenameEvent) => any, thisArg?: any, disposables?: vscode.Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onWillCreateFiles: (listener: (e: vscode.FileWillCreateEvent) => any, thisArg?: any, disposables?: vscode.Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onWillDeleteFiles: (listener: (e: vscode.FileWillDeleteEvent) => any, thisArg?: any, disposables?: vscode.Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onWillRenameFiles: (listener: (e: vscode.FileWillRenameEvent) => any, thisArg?: any, disposables?: vscode.Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onDidRenameFile: Event<{
            oldUri: workerExtTypes.Uri;
            readonly newUri: workerExtTypes.Uri;
        }>;
        save: (uri: any) => Promise<import("@opensumi/ide-core-common").URI | undefined>;
        saveAs: (uri: any) => Promise<import("@opensumi/ide-core-common").URI | undefined>;
        saveAll: () => Promise<boolean>;
        findFiles: (include: any, exclude: any, maxResults?: any, token?: any) => Promise<vscode.Uri[]>;
        onDidOpenNotebookDocument: Event<vscode.NotebookDocument>;
        onDidChangeNotebookDocument: Event<vscode.NotebookDocumentChangeEvent>;
        onDidCloseNotebookDocument: Event<vscode.NotebookDocument>;
        onDidSaveNotebookDocument: Event<vscode.NotebookDocument>;
        readonly notebookDocuments: readonly vscode.NotebookDocument[];
        registerTimelineProvider: () => import("@opensumi/ide-core-common").IDisposable;
        registerPortAttributesProvider: () => import("@opensumi/ide-core-common").IDisposable;
        registerEditSessionIdentityProvider: () => import("@opensumi/ide-core-common").IDisposable;
        onWillCreateEditSessionIdentity: () => import("@opensumi/ide-core-common").IDisposable;
    };
    scm: {
        readonly inputBox: import("../vscode/ext.host.scm").ExtHostSCMInputBox;
        createSourceControl(id: string, label: string, rootUri: vscode.Uri): vscode.SourceControl;
        getSourceControl(extensionId: string, id: string): vscode.SourceControl[] | undefined;
    };
    l10n: {
        t(...params: [message: string, ...args: Array<string | number | boolean>] | [message: string, args: Record<string, any>] | [{
            message: string;
            args?: Array<string | number | boolean> | Record<string, any>;
            comment: string | string[];
        }]): string;
        readonly bundle: {
            [key: string]: string;
        } | undefined;
        readonly uri: workerExtTypes.Uri | undefined;
    };
    window: typeof vscode.window;
    InlineCompletionItem: typeof workerExtTypes.InlineSuggestion;
    InlineCompletionList: typeof workerExtTypes.InlineSuggestionList;
    authentication: typeof vscode.authentication;
    comments: typeof vscode.comments;
    InlineEdit: typeof workerExtTypes.InlineEdit;
    InlineEditTriggerKind: typeof workerExtTypes.InlineEditTriggerKind;
    validateTestCoverageCount(cc?: vscode.TestCoverageCount): void;
    TextEditorRevealType: typeof workerExtTypes.TextEditorRevealType;
    Uri: typeof workerExtTypes.Uri;
    FileType: typeof workerExtTypes.FileType;
    QuickPickItemKind: typeof workerExtTypes.QuickPickItemKind;
    ProgressLocation: typeof workerExtTypes.ProgressLocation;
    IndentAction: typeof workerExtTypes.IndentAction;
    Range: typeof workerExtTypes.Range;
    LanguageStatusSeverity: typeof workerExtTypes.LanguageStatusSeverity;
    InputBoxValidationSeverity: typeof workerExtTypes.InputBoxValidationSeverity;
    CodeLens: typeof workerExtTypes.CodeLens;
    Position: typeof workerExtTypes.Position;
    Diagnostic: typeof workerExtTypes.Diagnostic;
    EndOfLine: typeof workerExtTypes.EndOfLine;
    RelativePattern: typeof workerExtTypes.RelativePattern;
    Location: typeof workerExtTypes.Location;
    DiagnosticRelatedInformation: typeof workerExtTypes.DiagnosticRelatedInformation;
    Disposable: typeof workerExtTypes.Disposable;
    Hover: typeof workerExtTypes.Hover;
    SnippetString: typeof workerExtTypes.SnippetString;
    TextEdit: typeof workerExtTypes.TextEdit;
    CompletionTriggerKind: typeof workerExtTypes.CompletionTriggerKind;
    CompletionItemKind: typeof workerExtTypes.CompletionItemKind;
    CompletionItemTag: typeof workerExtTypes.CompletionItemTag;
    MarkdownString: typeof workerExtTypes.MarkdownString;
    CompletionItem: typeof workerExtTypes.CompletionItem;
    CompletionList: typeof workerExtTypes.CompletionList;
    ConfigurationTarget: typeof workerExtTypes.ConfigurationTarget;
    TextEditorLineNumbersStyle: typeof workerExtTypes.TextEditorLineNumbersStyle;
    ThemeColor: typeof workerExtTypes.ThemeColor;
    FileDecoration: typeof workerExtTypes.FileDecoration;
    SyntaxTokenType: typeof workerExtTypes.SyntaxTokenType;
    DecorationRangeBehavior: typeof workerExtTypes.DecorationRangeBehavior;
    FoldingRange: typeof workerExtTypes.FoldingRange;
    FoldingRangeKind: typeof workerExtTypes.FoldingRangeKind;
    Color: typeof workerExtTypes.Color;
    DocumentHighlightKind: typeof workerExtTypes.DocumentHighlightKind;
    DocumentHighlight: typeof workerExtTypes.DocumentHighlight;
    ColorPresentation: typeof workerExtTypes.ColorPresentation;
    DiagnosticSeverity: typeof workerExtTypes.DiagnosticSeverity;
    DiagnosticTag: typeof workerExtTypes.DiagnosticTag;
    CodeActionKind: typeof workerExtTypes.CodeActionKind;
    CodeActionTriggerKind: typeof workerExtTypes.CodeActionTriggerKind;
    CodeAction: typeof workerExtTypes.CodeAction;
    Selection: typeof workerExtTypes.Selection;
    WorkspaceEditType: typeof workerExtTypes.WorkspaceEditType;
    SnippetTextEdit: typeof workerExtTypes.SnippetTextEdit;
    WorkspaceEdit: typeof workerExtTypes.WorkspaceEdit;
    MultiDocumentHighlight: typeof workerExtTypes.MultiDocumentHighlight;
    DocumentLink: typeof workerExtTypes.DocumentLink;
    StatusBarAlignment: typeof workerExtTypes.StatusBarAlignment;
    SymbolInformation: typeof workerExtTypes.SymbolInformation;
    SymbolKind: typeof workerExtTypes.SymbolKind;
    DocumentSymbol: typeof workerExtTypes.DocumentSymbol;
    SignatureHelpTriggerKind: typeof workerExtTypes.SignatureHelpTriggerKind;
    ParameterInformation: typeof workerExtTypes.ParameterInformation;
    SignatureInformation: typeof workerExtTypes.SignatureInformation;
    SignatureHelp: typeof workerExtTypes.SignatureHelp;
    TreeItemCollapsibleState: typeof workerExtTypes.TreeItemCollapsibleState;
    ThemeIcon: typeof workerExtTypes.ThemeIcon;
    TreeItem: typeof workerExtTypes.TreeItem;
    TreeItem2: typeof workerExtTypes.TreeItem2;
    LogLevel: typeof workerExtTypes.LogLevel;
    OutputChannelLogLevel: typeof workerExtTypes.OutputChannelLogLevel;
    SourceControlInputBoxValidationType: typeof workerExtTypes.SourceControlInputBoxValidationType;
    ColorInformation: typeof workerExtTypes.ColorInformation;
    DebugAdapterExecutable: typeof workerExtTypes.DebugAdapterExecutable;
    DebugAdapterServer: typeof workerExtTypes.DebugAdapterServer;
    DebugAdapterNamedPipeServer: typeof workerExtTypes.DebugAdapterNamedPipeServer;
    DebugAdapterInlineImplementation: typeof workerExtTypes.DebugAdapterInlineImplementation;
    SelectionRange: typeof workerExtTypes.SelectionRange;
    Breakpoint: typeof workerExtTypes.Breakpoint;
    SourceBreakpoint: typeof workerExtTypes.SourceBreakpoint;
    FunctionBreakpoint: typeof workerExtTypes.FunctionBreakpoint;
    DebugConsoleMode: typeof workerExtTypes.DebugConsoleMode;
    DebugConfigurationProviderTriggerKind: typeof workerExtTypes.DebugConfigurationProviderTriggerKind;
    QuickInputButtons: typeof workerExtTypes.QuickInputButtons;
    TextDocumentSaveReason: typeof workerExtTypes.TextDocumentSaveReason;
    TextDocumentChangeReason: typeof workerExtTypes.TextDocumentChangeReason;
    TaskGroup: typeof workerExtTypes.TaskGroup;
    ProcessExecution: typeof workerExtTypes.ProcessExecution;
    ShellExecution: typeof workerExtTypes.ShellExecution;
    ShellQuoting: typeof workerExtTypes.ShellQuoting;
    TaskScope: typeof workerExtTypes.TaskScope;
    CustomExecution2: typeof workerExtTypes.CustomExecution2;
    CustomExecution: typeof workerExtTypes.CustomExecution;
    Task: typeof workerExtTypes.Task;
    ExtensionKind: typeof workerExtTypes.ExtensionKind;
    TaskPanelKind: typeof workerExtTypes.TaskPanelKind;
    TerminalLink: typeof workerExtTypes.TerminalLink;
    TerminalProfile: typeof workerExtTypes.TerminalProfile;
    TaskRevealKind: typeof workerExtTypes.TaskRevealKind;
    TerminalExitReason: typeof workerExtTypes.TerminalExitReason;
    TerminalShellExecutionCommandLineConfidence: typeof workerExtTypes.TerminalShellExecutionCommandLineConfidence;
    UIKind: typeof workerExtTypes.UIKind;
    CommentMode: typeof workerExtTypes.CommentMode;
    CommentThreadCollapsibleState: typeof workerExtTypes.CommentThreadCollapsibleState;
    ColorTheme: typeof workerExtTypes.ColorTheme;
    ColorThemeKind: typeof workerExtTypes.ColorThemeKind;
    SymbolTag: typeof workerExtTypes.SymbolTag;
    ExtensionMode: typeof workerExtTypes.ExtensionMode;
    CallHierarchyItem: typeof workerExtTypes.CallHierarchyItem;
    CallHierarchyIncomingCall: typeof workerExtTypes.CallHierarchyIncomingCall;
    CallHierarchyOutgoingCall: typeof workerExtTypes.CallHierarchyOutgoingCall;
    TypeHierarchyItem: typeof workerExtTypes.TypeHierarchyItem;
    SemanticTokensLegend: typeof workerExtTypes.SemanticTokensLegend;
    SemanticTokensBuilder: typeof workerExtTypes.SemanticTokensBuilder;
    SemanticTokens: typeof workerExtTypes.SemanticTokens;
    SemanticTokensEdit: typeof workerExtTypes.SemanticTokensEdit;
    SemanticTokensEdits: typeof workerExtTypes.SemanticTokensEdits;
    EvaluatableExpression: typeof workerExtTypes.EvaluatableExpression;
    TimelineItem: typeof workerExtTypes.TimelineItem;
    CancellationError: typeof workerExtTypes.CancellationError;
    InlineValueText: typeof workerExtTypes.InlineValueText;
    InlineValueVariableLookup: typeof workerExtTypes.InlineValueVariableLookup;
    InlineValueEvaluatableExpression: typeof workerExtTypes.InlineValueEvaluatableExpression;
    InlineValueContext: typeof workerExtTypes.InlineValueContext;
    InlayHintKind: typeof workerExtTypes.InlayHintKind;
    InlayHint: typeof workerExtTypes.InlayHint;
    InlayHintLabelPart: typeof workerExtTypes.InlayHintLabelPart;
    TestResultState: typeof workerExtTypes.TestResultState;
    TestRunProfileKind: typeof workerExtTypes.TestRunProfileKind;
    TestRunRequest: typeof workerExtTypes.TestRunRequest;
    TestMessage: typeof workerExtTypes.TestMessage;
    TestMessageStackFrame: typeof workerExtTypes.TestMessageStackFrame;
    TestCoverageCount: typeof workerExtTypes.TestCoverageCount;
    FileCoverage: typeof workerExtTypes.FileCoverage;
    StatementCoverage: typeof workerExtTypes.StatementCoverage;
    BranchCoverage: typeof workerExtTypes.BranchCoverage;
    DeclarationCoverage: typeof workerExtTypes.DeclarationCoverage;
    TestTag: typeof workerExtTypes.TestTag;
    InlineCompletionTriggerKind: typeof workerExtTypes.InlineCompletionTriggerKind;
    DataTransferItem: typeof workerExtTypes.DataTransferItem;
    DataTransfer: typeof workerExtTypes.DataTransfer;
    InlineSuggestion: typeof workerExtTypes.InlineSuggestion;
    InlineSuggestionList: typeof workerExtTypes.InlineSuggestionList;
    ChatMessageRole: typeof workerExtTypes.ChatMessageRole;
    ChatMessage: typeof workerExtTypes.ChatMessage;
    TextTabInput: typeof workerExtTypes.TextTabInput;
    TextDiffTabInput: typeof workerExtTypes.TextDiffTabInput;
    TextMergeTabInput: typeof workerExtTypes.TextMergeTabInput;
    CustomEditorTabInput: typeof workerExtTypes.CustomEditorTabInput;
    WebviewEditorTabInput: typeof workerExtTypes.WebviewEditorTabInput;
    NotebookEditorTabInput: typeof workerExtTypes.NotebookEditorTabInput;
    NotebookDiffEditorTabInput: typeof workerExtTypes.NotebookDiffEditorTabInput;
    TerminalEditorTabInput: typeof workerExtTypes.TerminalEditorTabInput;
    InteractiveWindowInput: typeof workerExtTypes.InteractiveWindowInput;
    NotebookRange: typeof workerExtTypes.NotebookRange;
    NotebookCellData: typeof workerExtTypes.NotebookCellData;
    NotebookData: typeof workerExtTypes.NotebookData;
    NotebookCellOutputItem: typeof workerExtTypes.NotebookCellOutputItem;
    NotebookCellOutput: typeof workerExtTypes.NotebookCellOutput;
    NotebookCellKind: typeof workerExtTypes.NotebookCellKind;
    NotebookCellExecutionState: typeof workerExtTypes.NotebookCellExecutionState;
    NotebookCellStatusBarAlignment: typeof workerExtTypes.NotebookCellStatusBarAlignment;
    NotebookEditorRevealType: typeof workerExtTypes.NotebookEditorRevealType;
    NotebookCellStatusBarItem: typeof workerExtTypes.NotebookCellStatusBarItem;
    NotebookControllerAffinity: typeof workerExtTypes.NotebookControllerAffinity;
    NotebookControllerAffinity2: typeof workerExtTypes.NotebookControllerAffinity2;
    NotebookRendererScript: typeof workerExtTypes.NotebookRendererScript;
    NotebookKernelSourceAction: typeof workerExtTypes.NotebookKernelSourceAction;
    NotebookVariablesRequestKind: typeof workerExtTypes.NotebookVariablesRequestKind;
};
//# sourceMappingURL=worker.host.api.impl.d.ts.map