/// <reference path="./vscode-dts/vscode.proposed.activeComment.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.aiRelatedInformation.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.attributableCoverage.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.authGetSessions.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.authLearnMore.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.authSession.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.canonicalUriProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.chatProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.chatTab.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.chatVariableResolver.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.codeActionAI.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.codeActionRanges.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.codiconDecoration.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.commentReactor.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.commentReveal.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.commentThreadApplicability.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.commentingRangeHint.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.commentsDraftState.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.customEditorMove.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.debugVisualization.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.defaultChatParticipant.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.diffCommand.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.diffContentOptions.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.documentPaste.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.editorInsets.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.embeddings.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.extensionRuntime.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.extensionsAny.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.externalUriOpener.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.fileComments.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.fileSearchProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.findFiles2.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.findTextInFiles.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.fsChunks.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.idToken.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.inlineEdit.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.interactive.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.interactiveWindow.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.ipc.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.languageModelSystem.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.languageStatusText.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.lmTools.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.mappedEditsProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookCellExecution.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookCellExecutionState.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookDeprecated.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookExecution.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookKernelSource.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookLiveShare.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookMessaging.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookMime.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.notebookVariableProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.portsAttributes.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.profileContentHandlers.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.quickDiffProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.resolvers.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.scmActionButton.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.scmHistoryProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.scmSelectedProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.scmTextDocument.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.scmValidation.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.shareProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.showLocal.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.speech.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.tabInputTextMerge.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.taskPresentationGroup.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.telemetry.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.terminalDimensions.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.terminalSelection.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.terminalShellIntegration.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.testObserver.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.textSearchProvider.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.timeline.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.tokenInformation.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.treeViewActiveItem.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.treeViewReveal.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.tunnelFactory.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.tunnels.d.ts" />
/// <reference path="./vscode-dts/vscode.proposed.workspaceTrust.d.ts" />
import * as vscode from 'vscode';
import { IExtension, IExtensionManifest } from './vscode/src/vs/platform/extensions/common/extensions.js';
export { IExtensionContributions } from './vscode/src/vs/platform/extensions/common/extensions.js';
import { IDisposable } from './vscode/src/vs/base/common/lifecycle.js';
export { ITranslations } from './vscode/src/vs/platform/extensionManagement/common/extensionNls.js';
import { ExtensionHostKind } from './vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js';
export { ExtensionFileMetadata } from './service-override/files.js';

type ApiFactory = (extensionId?: string) => Promise<typeof vscode>;
declare function registerLocalApiFactory(_apiFactory: ApiFactory): void;
interface RegisterExtensionParams {
    path?: string;
    system?: boolean;
    readmePath?: string;
    changelogPath?: string;
}
interface RegisterRemoteExtensionParams extends RegisterExtensionParams {
    path: string;
}
interface RegisterExtensionResult {
    id: string;
    dispose(): Promise<void>;
    whenReady(): Promise<void>;
    isEnabled(): Promise<boolean>;
}
interface RegisterRemoteExtensionResult extends RegisterExtensionResult {
}
interface RegisterLocalExtensionResult extends RegisterExtensionResult {
    registerFileUrl: (path: string, url: string) => IDisposable;
}
interface RegisterLocalProcessExtensionResult extends RegisterLocalExtensionResult {
    getApi(): Promise<typeof vscode>;
    setAsDefaultApi(): Promise<void>;
}
declare function registerRemoteExtension(directory: string): Promise<RegisterRemoteExtensionResult>;
declare function getExtensionManifests(): IExtension[];
declare function getForcedExtensionHostKind(id: string): ExtensionHostKind | undefined;
declare function registerExtension(manifest: IExtensionManifest, extHostKind: ExtensionHostKind.LocalProcess, params?: RegisterExtensionParams): RegisterLocalProcessExtensionResult;
declare function registerExtension(manifest: IExtensionManifest, extHostKind: ExtensionHostKind.LocalWebWorker, params?: RegisterExtensionParams): RegisterLocalExtensionResult;
declare function registerExtension(manifest: IExtensionManifest, extHostKind: ExtensionHostKind.Remote, params?: RegisterRemoteExtensionParams): RegisterRemoteExtensionResult;
declare function registerExtension(manifest: IExtensionManifest, extHostKind?: ExtensionHostKind, params?: RegisterExtensionParams): RegisterExtensionResult;

export { type ApiFactory, ExtensionHostKind, IExtensionManifest, getExtensionManifests, getForcedExtensionHostKind, registerExtension, registerLocalApiFactory, registerRemoteExtension };
