import { CancellationToken } from "../../../base/common/cancellation.js"; import { ExtHostCommands } from "./extHostCommands.js"; import { IExtHostWorkspaceProvider } from "./extHostWorkspace.js"; import { InputBox, InputBoxOptions, QuickPick, QuickPickItem, QuickPickOptions, WorkspaceFolder, WorkspaceFolderPickOptions } from "vscode"; import { ExtHostQuickOpenShape, IMainContext } from "./extHost.protocol.js"; import { IExtensionDescription } from "../../../platform/extensions/common/extensions.js"; export type Item = string | QuickPickItem; export interface ExtHostQuickOpen { showQuickPick(extension: IExtensionDescription, itemsOrItemsPromise: QuickPickItem[] | Promise, options: QuickPickOptions & { canPickMany: true; }, token?: CancellationToken): Promise; showQuickPick(extension: IExtensionDescription, itemsOrItemsPromise: string[] | Promise, options?: QuickPickOptions, token?: CancellationToken): Promise; showQuickPick(extension: IExtensionDescription, itemsOrItemsPromise: QuickPickItem[] | Promise, options?: QuickPickOptions, token?: CancellationToken): Promise; showQuickPick(extension: IExtensionDescription, itemsOrItemsPromise: Item[] | Promise, options?: QuickPickOptions, token?: CancellationToken): Promise; showInput(options?: InputBoxOptions, token?: CancellationToken): Promise; showWorkspaceFolderPick(options?: WorkspaceFolderPickOptions, token?: CancellationToken): Promise; createQuickPick(extension: IExtensionDescription): QuickPick; createInputBox(extension: IExtensionDescription): InputBox; } export declare function createExtHostQuickOpen(mainContext: IMainContext, workspace: IExtHostWorkspaceProvider, commands: ExtHostCommands): ExtHostQuickOpenShape & ExtHostQuickOpen;