import { CancellationToken } from "../../../base/common/cancellation.js"; import { Event } from "../../../base/common/event.js"; import { IQuickAccessController } from "./quickAccess.js"; import { IQuickInputButton, IQuickPickItem, QuickPickInput, IPickOptions, Omit, IInputOptions, IQuickPick, IInputBox, IQuickWidget, IQuickTreeItem, IQuickTree, IQuickNavigateConfiguration, IKeyMods, QuickInputHideReason, IQuickInput } from "./quickInput.js"; export declare const IQuickInputService: import("../../instantiation/common/instantiation.js").ServiceIdentifier; export interface IQuickInputService { readonly _serviceBrand: undefined; /** * Provides access to the back button in quick input. */ readonly backButton: IQuickInputButton; /** * Provides access to the quick access providers. */ readonly quickAccess: IQuickAccessController; /** * Allows to register on the event that quick input is showing. */ readonly onShow: Event; /** * Allows to register on the event that quick input is hiding. */ readonly onHide: Event; /** * Opens the quick input box for selecting items and returns a promise * with the user selected item(s) if any. */ pick(picks: Promise[]> | QuickPickInput[], options?: IPickOptions & { canPickMany: true; }, token?: CancellationToken): Promise; pick(picks: Promise[]> | QuickPickInput[], options?: IPickOptions & { canPickMany: false; }, token?: CancellationToken): Promise; pick(picks: Promise[]> | QuickPickInput[], options?: Omit, "canPickMany">, token?: CancellationToken): Promise; /** * Opens the quick input box for text input and returns a promise with the user typed value if any. */ input(options?: IInputOptions, token?: CancellationToken): Promise; /** * Provides raw access to the quick pick controller. */ createQuickPick(options: { useSeparators: true; }): IQuickPick; createQuickPick(options?: { useSeparators: boolean; }): IQuickPick; /** * Provides raw access to the input box controller. */ createInputBox(): IInputBox; /** * Provides raw access to the quick widget controller. */ createQuickWidget(): IQuickWidget; /** * Provides raw access to the quick tree controller. * @template T The type of items in the quick tree. */ createQuickTree(): IQuickTree; /** * Moves focus into quick input. */ focus(): void; /** * Toggle the checked state of the selected item. */ toggle(): void; /** * Navigate inside the opened quick input list. */ navigate(next: boolean, quickNavigate?: IQuickNavigateConfiguration): void; /** * Navigate back in a multi-step quick input. */ back(): Promise; /** * Accept the selected item. * * @param keyMods allows to override the state of key * modifiers that should be present when invoking. */ accept(keyMods?: IKeyMods): Promise; /** * Cancels quick input and closes it. */ cancel(reason?: QuickInputHideReason): Promise; /** * Toggles hover for the current quick input item */ toggleHover(): void; /** * The current quick pick that is visible. Undefined if none is open. */ currentQuickInput: IQuickInput | undefined; /** * Set the alignment of the quick input. * @param alignment either a preset or a custom alignment */ setAlignment(alignment: "top" | "center" | { top: number; left: number; }): void; }