import { IRPCProtocol } from '@opensumi/ide-connection';
import { CancellationTokenSource, Emitter, Event } from '@opensumi/ide-core-common';
import { IExtensionHostService } from '../../../common';
import { ExtHostAppConfig } from '../../../common/ext.process';
import { IExtensionDescription, TextEditorCursorStyle, TextEditorSelectionChangeKind } from '../../../common/vscode';
import { ViewColumn } from '../../../common/vscode/enums';
import * as extTypes from '../../../common/vscode/ext-types';
import * as fileSystemTypes from '../../../common/vscode/file-system';
import { OverviewRulerLane } from '../../../common/vscode/models';
export declare function createApiFactory(rpcProtocol: IRPCProtocol, extensionService: IExtensionHostService, appConfig: ExtHostAppConfig): (extension: IExtensionDescription) => {
    Task2: typeof extTypes.Task;
    CancellationTokenSource: typeof CancellationTokenSource;
    EventEmitter: typeof Emitter;
    Event: typeof Event;
    ViewColumn: typeof ViewColumn;
    OverviewRulerLane: typeof OverviewRulerLane;
    TextEditorCursorStyle: typeof TextEditorCursorStyle;
    TextEditorSelectionChangeKind: typeof TextEditorSelectionChangeKind;
    TabInputText: typeof extTypes.TextTabInput;
    TabInputTextDiff: typeof extTypes.TextDiffTabInput;
    TabInputTextMerge: typeof extTypes.TextMergeTabInput;
    TabInputCustom: typeof extTypes.CustomEditorTabInput;
    TabInputNotebook: typeof extTypes.NotebookEditorTabInput;
    TabInputNotebookDiff: typeof extTypes.NotebookDiffEditorTabInput;
    TabInputWebview: typeof extTypes.WebviewEditorTabInput;
    TabInputTerminal: typeof extTypes.TerminalEditorTabInput;
    TabInputInteractiveWindow: typeof extTypes.InteractiveWindowInput;
    InlineEdit: typeof extTypes.InlineEdit;
    InlineEditTriggerKind: typeof extTypes.InlineEditTriggerKind;
    markAsFileSystemProviderError(error: Error, code: fileSystemTypes.FileSystemProviderErrorCode): Error;
    FileChangeType: typeof fileSystemTypes.FileChangeType;
    FileType: typeof fileSystemTypes.FileType;
    FilePermission: typeof fileSystemTypes.FilePermission;
    FileSystemProviderErrorCode: typeof fileSystemTypes.FileSystemProviderErrorCode;
    FileSystemError: typeof fileSystemTypes.FileSystemError;
    InlineCompletionItem: typeof extTypes.InlineSuggestion;
    InlineCompletionList: typeof extTypes.InlineSuggestionList;
    validateTestCoverageCount(cc?: import("vscode").TestCoverageCount): void;
    TextEditorRevealType: typeof extTypes.TextEditorRevealType;
    Uri: typeof extTypes.Uri;
    QuickPickItemKind: typeof extTypes.QuickPickItemKind;
    ProgressLocation: typeof extTypes.ProgressLocation;
    IndentAction: typeof extTypes.IndentAction;
    Range: typeof extTypes.Range;
    LanguageStatusSeverity: typeof extTypes.LanguageStatusSeverity;
    InputBoxValidationSeverity: typeof extTypes.InputBoxValidationSeverity;
    CodeLens: typeof extTypes.CodeLens;
    Position: typeof extTypes.Position;
    Diagnostic: typeof extTypes.Diagnostic;
    EndOfLine: typeof extTypes.EndOfLine;
    RelativePattern: typeof extTypes.RelativePattern;
    Location: typeof extTypes.Location;
    DiagnosticRelatedInformation: typeof extTypes.DiagnosticRelatedInformation;
    Disposable: typeof extTypes.Disposable;
    Hover: typeof extTypes.Hover;
    SnippetString: typeof extTypes.SnippetString;
    TextEdit: typeof extTypes.TextEdit;
    CompletionTriggerKind: typeof extTypes.CompletionTriggerKind;
    CompletionItemKind: typeof extTypes.CompletionItemKind;
    CompletionItemTag: typeof extTypes.CompletionItemTag;
    MarkdownString: typeof extTypes.MarkdownString;
    CompletionItem: typeof extTypes.CompletionItem;
    CompletionList: typeof extTypes.CompletionList;
    ConfigurationTarget: typeof extTypes.ConfigurationTarget;
    TextEditorLineNumbersStyle: typeof extTypes.TextEditorLineNumbersStyle;
    ThemeColor: typeof extTypes.ThemeColor;
    FileDecoration: typeof extTypes.FileDecoration;
    SyntaxTokenType: typeof extTypes.SyntaxTokenType;
    DecorationRangeBehavior: typeof extTypes.DecorationRangeBehavior;
    FoldingRange: typeof extTypes.FoldingRange;
    FoldingRangeKind: typeof extTypes.FoldingRangeKind;
    Color: typeof extTypes.Color;
    DocumentHighlightKind: typeof extTypes.DocumentHighlightKind;
    DocumentHighlight: typeof extTypes.DocumentHighlight;
    ColorPresentation: typeof extTypes.ColorPresentation;
    DiagnosticSeverity: typeof extTypes.DiagnosticSeverity;
    DiagnosticTag: typeof extTypes.DiagnosticTag;
    CodeActionKind: typeof extTypes.CodeActionKind;
    CodeActionTriggerKind: typeof extTypes.CodeActionTriggerKind;
    CodeAction: typeof extTypes.CodeAction;
    Selection: typeof extTypes.Selection;
    WorkspaceEditType: typeof extTypes.WorkspaceEditType;
    SnippetTextEdit: typeof extTypes.SnippetTextEdit;
    WorkspaceEdit: typeof extTypes.WorkspaceEdit;
    MultiDocumentHighlight: typeof extTypes.MultiDocumentHighlight;
    DocumentLink: typeof extTypes.DocumentLink;
    StatusBarAlignment: typeof extTypes.StatusBarAlignment;
    SymbolInformation: typeof extTypes.SymbolInformation;
    SymbolKind: typeof extTypes.SymbolKind;
    DocumentSymbol: typeof extTypes.DocumentSymbol;
    SignatureHelpTriggerKind: typeof extTypes.SignatureHelpTriggerKind;
    ParameterInformation: typeof extTypes.ParameterInformation;
    SignatureInformation: typeof extTypes.SignatureInformation;
    SignatureHelp: typeof extTypes.SignatureHelp;
    TreeItemCollapsibleState: typeof extTypes.TreeItemCollapsibleState;
    ThemeIcon: typeof extTypes.ThemeIcon;
    TreeItem: typeof extTypes.TreeItem;
    TreeItem2: typeof extTypes.TreeItem2;
    LogLevel: typeof extTypes.LogLevel;
    OutputChannelLogLevel: typeof extTypes.OutputChannelLogLevel;
    SourceControlInputBoxValidationType: typeof extTypes.SourceControlInputBoxValidationType;
    ColorInformation: typeof extTypes.ColorInformation;
    DebugAdapterExecutable: typeof extTypes.DebugAdapterExecutable;
    DebugAdapterServer: typeof extTypes.DebugAdapterServer;
    DebugAdapterNamedPipeServer: typeof extTypes.DebugAdapterNamedPipeServer;
    DebugAdapterInlineImplementation: typeof extTypes.DebugAdapterInlineImplementation;
    SelectionRange: typeof extTypes.SelectionRange;
    Breakpoint: typeof extTypes.Breakpoint;
    SourceBreakpoint: typeof extTypes.SourceBreakpoint;
    FunctionBreakpoint: typeof extTypes.FunctionBreakpoint;
    DebugConsoleMode: typeof extTypes.DebugConsoleMode;
    DebugConfigurationProviderTriggerKind: typeof extTypes.DebugConfigurationProviderTriggerKind;
    QuickInputButtons: typeof extTypes.QuickInputButtons;
    TextDocumentSaveReason: typeof extTypes.TextDocumentSaveReason;
    TextDocumentChangeReason: typeof extTypes.TextDocumentChangeReason;
    TaskGroup: typeof extTypes.TaskGroup;
    ProcessExecution: typeof extTypes.ProcessExecution;
    ShellExecution: typeof extTypes.ShellExecution;
    ShellQuoting: typeof extTypes.ShellQuoting;
    TaskScope: typeof extTypes.TaskScope;
    CustomExecution2: typeof extTypes.CustomExecution2;
    CustomExecution: typeof extTypes.CustomExecution;
    Task: typeof extTypes.Task;
    ExtensionKind: typeof extTypes.ExtensionKind;
    TaskPanelKind: typeof extTypes.TaskPanelKind;
    TerminalLink: typeof extTypes.TerminalLink;
    TerminalProfile: typeof extTypes.TerminalProfile;
    TaskRevealKind: typeof extTypes.TaskRevealKind;
    TerminalExitReason: typeof extTypes.TerminalExitReason;
    TerminalShellExecutionCommandLineConfidence: typeof extTypes.TerminalShellExecutionCommandLineConfidence;
    UIKind: typeof extTypes.UIKind;
    CommentMode: typeof extTypes.CommentMode;
    CommentThreadCollapsibleState: typeof extTypes.CommentThreadCollapsibleState;
    ColorTheme: typeof extTypes.ColorTheme;
    ColorThemeKind: typeof extTypes.ColorThemeKind;
    SymbolTag: typeof extTypes.SymbolTag;
    ExtensionMode: typeof extTypes.ExtensionMode;
    CallHierarchyItem: typeof extTypes.CallHierarchyItem;
    CallHierarchyIncomingCall: typeof extTypes.CallHierarchyIncomingCall;
    CallHierarchyOutgoingCall: typeof extTypes.CallHierarchyOutgoingCall;
    TypeHierarchyItem: typeof extTypes.TypeHierarchyItem;
    SemanticTokensLegend: typeof extTypes.SemanticTokensLegend;
    SemanticTokensBuilder: typeof extTypes.SemanticTokensBuilder;
    SemanticTokens: typeof extTypes.SemanticTokens;
    SemanticTokensEdit: typeof extTypes.SemanticTokensEdit;
    SemanticTokensEdits: typeof extTypes.SemanticTokensEdits;
    EvaluatableExpression: typeof extTypes.EvaluatableExpression;
    TimelineItem: typeof extTypes.TimelineItem;
    CancellationError: typeof extTypes.CancellationError;
    InlineValueText: typeof extTypes.InlineValueText;
    InlineValueVariableLookup: typeof extTypes.InlineValueVariableLookup;
    InlineValueEvaluatableExpression: typeof extTypes.InlineValueEvaluatableExpression;
    InlineValueContext: typeof extTypes.InlineValueContext;
    InlayHintKind: typeof extTypes.InlayHintKind;
    InlayHint: typeof extTypes.InlayHint;
    InlayHintLabelPart: typeof extTypes.InlayHintLabelPart;
    TestResultState: typeof extTypes.TestResultState;
    TestRunProfileKind: typeof extTypes.TestRunProfileKind;
    TestRunRequest: typeof extTypes.TestRunRequest;
    TestMessage: typeof extTypes.TestMessage;
    TestMessageStackFrame: typeof extTypes.TestMessageStackFrame;
    TestCoverageCount: typeof extTypes.TestCoverageCount;
    FileCoverage: typeof extTypes.FileCoverage;
    StatementCoverage: typeof extTypes.StatementCoverage;
    BranchCoverage: typeof extTypes.BranchCoverage;
    DeclarationCoverage: typeof extTypes.DeclarationCoverage;
    TestTag: typeof extTypes.TestTag;
    InlineCompletionTriggerKind: typeof extTypes.InlineCompletionTriggerKind;
    DataTransferItem: typeof extTypes.DataTransferItem;
    DataTransfer: typeof extTypes.DataTransfer;
    InlineSuggestion: typeof extTypes.InlineSuggestion;
    InlineSuggestionList: typeof extTypes.InlineSuggestionList;
    ChatMessageRole: typeof extTypes.ChatMessageRole;
    ChatMessage: typeof extTypes.ChatMessage;
    TextTabInput: typeof extTypes.TextTabInput;
    TextDiffTabInput: typeof extTypes.TextDiffTabInput;
    TextMergeTabInput: typeof extTypes.TextMergeTabInput;
    CustomEditorTabInput: typeof extTypes.CustomEditorTabInput;
    WebviewEditorTabInput: typeof extTypes.WebviewEditorTabInput;
    NotebookEditorTabInput: typeof extTypes.NotebookEditorTabInput;
    NotebookDiffEditorTabInput: typeof extTypes.NotebookDiffEditorTabInput;
    TerminalEditorTabInput: typeof extTypes.TerminalEditorTabInput;
    InteractiveWindowInput: typeof extTypes.InteractiveWindowInput;
    NotebookRange: typeof extTypes.NotebookRange;
    NotebookCellData: typeof extTypes.NotebookCellData;
    NotebookData: typeof extTypes.NotebookData;
    NotebookCellOutputItem: typeof extTypes.NotebookCellOutputItem;
    NotebookCellOutput: typeof extTypes.NotebookCellOutput;
    NotebookCellKind: typeof extTypes.NotebookCellKind;
    NotebookCellExecutionState: typeof extTypes.NotebookCellExecutionState;
    NotebookCellStatusBarAlignment: typeof extTypes.NotebookCellStatusBarAlignment;
    NotebookEditorRevealType: typeof extTypes.NotebookEditorRevealType;
    NotebookCellStatusBarItem: typeof extTypes.NotebookCellStatusBarItem;
    NotebookControllerAffinity: typeof extTypes.NotebookControllerAffinity;
    NotebookControllerAffinity2: typeof extTypes.NotebookControllerAffinity2;
    NotebookRendererScript: typeof extTypes.NotebookRendererScript;
    NotebookKernelSourceAction: typeof extTypes.NotebookKernelSourceAction;
    NotebookVariablesRequestKind: typeof extTypes.NotebookVariablesRequestKind;
    authentication: typeof import("vscode").authentication;
    commands: typeof import("vscode").commands;
    window: typeof import("vscode").window;
    languages: typeof import("vscode").languages;
    workspace: {
        rootPath: string | undefined;
        name: string | undefined;
        asRelativePath: (pathOrUri: string | extTypes.Uri, includeWorkspaceFolder?: boolean) => string | undefined;
        updateWorkspaceFolders: (start: number, deleteCount: number | undefined | null, ...workspaceFoldersToAdd: {
            uri: extTypes.Uri;
            name?: string;
        }[]) => boolean;
        onDidChangeWorkspaceFolders: Event<import("vscode").WorkspaceFoldersChangeEvent>;
        getWorkspaceFolder: (uri: any, resolveParent: any) => import("vscode").WorkspaceFolder | undefined;
        workspaceFolders: import("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?: import("vscode").WorkspaceTrustRequestOptions) => boolean;
        onDidGrantWorkspaceTrust: Event<any>;
        openTextDocument: (uriOrFileNameOrOptions?: extTypes.Uri | string | {
            language?: string;
            content?: string;
        }) => Promise<import("vscode").TextDocument>;
        onDidOpenTextDocument: Event<import("vscode").TextDocument>;
        onDidCloseTextDocument: Event<import("vscode").TextDocument>;
        onDidChangeTextDocument: Event<import("vscode").TextDocumentChangeEvent>;
        onWillSaveTextDocument: Event<import("vscode").TextDocumentWillSaveEvent>;
        onDidSaveTextDocument: Event<import("vscode").TextDocument>;
        registerTextDocumentContentProvider: (scheme: string, provider: import("vscode").TextDocumentContentProvider) => import("@opensumi/ide-core-common").IDisposable;
        registerTaskProvider: (type: any, provider: any) => import("@opensumi/ide-core-common").IDisposable;
        applyEdit: (edit: any, metadata?: import("vscode").WorkspaceEditMetadata) => Promise<boolean>;
        readonly textDocuments: import("vscode").TextDocument[];
        registerFileSystemProvider(scheme: any, provider: any, options: any): import("@opensumi/ide-core-common").IDisposable;
        readonly fs: import("vscode").FileSystem;
        createFileSystemWatcher: (pattern: any, ignoreCreate: any, ignoreChange: any, ignoreDelete: any) => import("vscode").FileSystemWatcher;
        onDidCreateFiles: (listener: (e: import("vscode").FileCreateEvent) => any, thisArg?: any, disposables?: import("vscode").Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onDidDeleteFiles: (listener: (e: import("vscode").FileDeleteEvent) => any, thisArg?: any, disposables?: import("vscode").Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onDidRenameFiles: (listener: (e: import("vscode").FileRenameEvent) => any, thisArg?: any, disposables?: import("vscode").Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onWillCreateFiles: (listener: (e: import("vscode").FileWillCreateEvent) => any, thisArg?: any, disposables?: import("vscode").Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onWillDeleteFiles: (listener: (e: import("vscode").FileWillDeleteEvent) => any, thisArg?: any, disposables?: import("vscode").Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onWillRenameFiles: (listener: (e: import("vscode").FileWillRenameEvent) => any, thisArg?: any, disposables?: import("vscode").Disposable[]) => import("@opensumi/ide-core-common").IDisposable;
        onDidRenameFile: Event<{
            oldUri: extTypes.Uri;
            readonly newUri: extTypes.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<import("vscode").Uri[]>;
        onDidOpenNotebookDocument: Event<import("vscode").NotebookDocument>;
        onDidChangeNotebookDocument: Event<import("vscode").NotebookDocumentChangeEvent>;
        onDidCloseNotebookDocument: Event<import("vscode").NotebookDocument>;
        onDidSaveNotebookDocument: Event<import("vscode").NotebookDocument>;
        readonly notebookDocuments: readonly import("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;
    };
    env: typeof import("vscode").env;
    debug: typeof import("vscode").debug;
    version: string;
    comments: typeof import("vscode").comments;
    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;
    };
    tasks: typeof import("vscode").tasks;
    scm: {
        readonly inputBox: import("./ext.host.scm").ExtHostSCMInputBox;
        createSourceControl(id: string, label: string, rootUri?: extTypes.Uri): import("vscode").SourceControl;
        getSourceControl(extensionId: string, id: string): import("vscode").SourceControl[] | undefined;
    };
    tests: {
        createTestController(controllerId: string, label: string, refreshHandler?: () => Thenable<void> | void): import("vscode").TestController;
    };
    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: extTypes.Uri | undefined;
    };
};
//# sourceMappingURL=ext.host.api.impl.d.ts.map