import { Injector } from '@opensumi/di';
import { IRPCProtocol } from '@opensumi/ide-connection';
import { Disposable } from '@opensumi/ide-core-browser';
import { IQuickInputService } from '@opensumi/ide-core-browser/lib/quick-open';
import { QuickInputOptions, QuickPickItem, QuickPickOptions, QuickPickService } from '@opensumi/ide-quick-open';
import { QuickOpenItemService } from '@opensumi/ide-quick-open/lib/browser/quick-open-item.service';
import { QuickTitleBar } from '@opensumi/ide-quick-open/lib/browser/quick-title-bar';
import { IExtHostQuickOpen, IMainThreadQuickOpen, Severity } from '../../../common/vscode';
export declare class MainThreadQuickOpen extends Disposable implements IMainThreadQuickOpen {
    private rpcProtocol;
    protected readonly proxy: IExtHostQuickOpen;
    protected quickPickService: QuickPickService;
    protected quickInputService: IQuickInputService;
    protected quickTitleBarService: QuickTitleBar;
    protected quickOpenItemService: QuickOpenItemService;
    protected injector: Injector;
    constructor(rpcProtocol: IRPCProtocol);
    $showQuickPick(_session: number, items: QuickPickItem<number>[], options?: QuickPickOptions): Promise<number | undefined>;
    $hideQuickPick(): void;
    /**
     * 将插件 severity 转换为前端组件识别的 VALIDATE_TYPE
     * 由于插件进程不能依赖 @opensumi/ide-components 模块，所以在前端进行转换
     * @param severity
     * @returns
     */
    private severityToValidateType;
    $showQuickInput(options: QuickInputOptions, validateInput: boolean): Promise<string | undefined>;
    private createdInputBox;
    $createOrUpdateInputBox(id: number, inputOptions: QuickInputOptions & {
        severity?: Severity;
    }): void;
    $updateQuickPick(options: QuickPickOptions): void;
    $hideInputBox(id: number): void;
    $disposeInputBox(id: number): void;
    $hideQuickInput(): void;
}
//# sourceMappingURL=main.thread.quickopen.d.ts.map