import { Event } from '../../../base/common/event.js'; import { IHoverDelegate } from '../../../base/browser/ui/hover/hoverDelegate.js'; import { IInstantiationService } from '../../instantiation/common/instantiation.js'; import { Disposable } from '../../../base/common/lifecycle.js'; import { IQuickPickItem, IQuickPickItemButtonEvent, IQuickPickSeparatorButtonEvent, QuickPickItem, QuickPickFocus } from '../common/quickInput.js'; import { IListStyles } from '../../../base/browser/ui/list/listWidget.js'; import { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js'; import { IAccessibilityService } from '../../accessibility/common/accessibility.js'; export declare class QuickInputTree extends Disposable { private parent; private hoverDelegate; private linkOpenerDelegate; private readonly accessibilityService; private readonly _onKeyDown; /** * Event that is fired when the tree receives a keydown. */ readonly onKeyDown: Event; private readonly _onLeave; /** * Event that is fired when the tree would no longer have focus. */ readonly onLeave: Event; private readonly _visibleCountObservable; onChangedVisibleCount: Event; private readonly _allVisibleCheckedObservable; onChangedAllVisibleChecked: Event; private readonly _checkedCountObservable; onChangedCheckedCount: Event; private readonly _checkedElementsObservable; onChangedCheckedElements: Event; private readonly _onButtonTriggered; onButtonTriggered: Event>; private readonly _onSeparatorButtonTriggered; onSeparatorButtonTriggered: Event; private readonly _elementChecked; private readonly _elementCheckedEventBufferer; private _hasCheckboxes; private readonly _container; private readonly _tree; private readonly _separatorRenderer; private readonly _itemRenderer; private _inputElements; private _elementTree; private _itemElements; private readonly _elementDisposable; private _lastHover; private _lastQueryString; constructor(parent: HTMLElement, hoverDelegate: IHoverDelegate, linkOpenerDelegate: (content: string) => void, id: string, instantiationService: IInstantiationService, accessibilityService: IAccessibilityService); get onDidChangeFocus(): Event; get onDidChangeSelection(): Event<{ items: IQuickPickItem[]; event: UIEvent | undefined; }>; get displayed(): boolean; set displayed(value: boolean); get scrollTop(): number; set scrollTop(scrollTop: number); get ariaLabel(): string | null; set ariaLabel(label: string | null); set enabled(value: boolean); private _matchOnDescription; get matchOnDescription(): boolean; set matchOnDescription(value: boolean); private _matchOnDetail; get matchOnDetail(): boolean; set matchOnDetail(value: boolean); private _matchOnLabel; get matchOnLabel(): boolean; set matchOnLabel(value: boolean); private _matchOnLabelMode; get matchOnLabelMode(): "fuzzy" | "contiguous"; set matchOnLabelMode(value: 'fuzzy' | 'contiguous'); private _matchOnMeta; get matchOnMeta(): boolean; set matchOnMeta(value: boolean); private _sortByLabel; get sortByLabel(): boolean; set sortByLabel(value: boolean); private _shouldLoop; get shouldLoop(): boolean; set shouldLoop(value: boolean); private _registerListeners; private _registerOnKeyDown; private _registerOnContainerClick; private _registerOnMouseMiddleClick; private _registerOnTreeModelChanged; private _registerOnElementChecked; private _registerOnContextMenu; private _registerHoverListeners; /** * Register's focus change and mouse events so that we can track when items inside of a * separator's section are focused or hovered so that we can display the separator's actions */ private _registerSeparatorActionShowingListeners; private _registerSelectionChangeListener; setAllVisibleChecked(checked: boolean): void; setElements(inputElements: QuickPickItem[]): void; setFocusedElements(items: IQuickPickItem[]): void; getActiveDescendant(): string | null; setSelectedElements(items: IQuickPickItem[]): void; getCheckedElements(): IQuickPickItem[]; setCheckedElements(items: IQuickPickItem[]): void; focus(what: QuickPickFocus): void; clearFocus(): void; domFocus(): void; layout(maxHeight?: number): void; filter(query: string): boolean; toggleCheckbox(): void; style(styles: IListStyles): void; toggleHover(): void; private _setElementsToTree; private _allVisibleChecked; private _updateCheckedObservables; /** * Disposes of the hover and shows a new one for the given index if it has a tooltip. * @param element The element to show the hover for */ private showHover; }