import { DialogValues, InputAction } from "../.."; import { GenericQuickPick } from "./AbstractQuickPick"; import { GenericQuickPickOptions, QuickPickItemFunction } from "./GenericQuickPick"; /** * Namespace for any loading quick pick */ export declare namespace LoadingQuickPick { /** * Any options for loading quick picks */ interface LoadingQuickPickOptions extends GenericQuickPickOptions { /** * The function that is used for reload any data. * This can be different from the normal data generate function (`generateItems`). * If you do not give any function, then `generateItems` will be used to reload the items. */ readonly reloadItems?: QuickPickItemFunction; /** * The tooltip that should be shown when reloading */ readonly reloadTooltip: string; } } /** * A long loading quick pick input. This should be used, if there is any long-loading data is expected. * * For example, if your loading takes 20 seconds, you should use this input over QuickPick, because this will notify the user about the loading process. * If you don't have any data that needs loading or your data is expected to have a very short loading time, then you should use QuickPick */ export declare class LoadingQuickPick extends GenericQuickPick { /** * @override */ showDialog(currentResults: DialogValues, title: string, showBackButton: boolean): Promise; /** * Blocks the quick pick for loading. * * @param quickPick - the real quick pick component */ private prepareLoading; /** * Enables the quick pick after the loading and sets the new items. * * @param quickPick - the real quick pick component * @param data - the loaded data * @param currentResults - the current selected dialog values */ private handlePostLoading; }