import { IContextMenuProvider } from "../../contextmenu.js"; import { IMenuOptions } from "../menu/menu.js"; import { ActionRunner, IAction } from "../../../common/actions.js"; import { IDisposable } from "../../../common/lifecycle.js"; export interface ILabelRenderer { (container: HTMLElement): IDisposable | null; } export interface IBaseDropdownOptions { label?: string; labelRenderer?: ILabelRenderer; } export declare class BaseDropdown extends ActionRunner { private _element; private boxContainer?; private _label?; private contents?; private visible; private _onDidChangeVisibility; readonly onDidChangeVisibility: import("../../../common/event.js").Event; private hover; constructor(container: HTMLElement, options: IBaseDropdownOptions); get element(): HTMLElement; get label(): HTMLElement | undefined; set tooltip(tooltip: string); show(): void; hide(): void; isVisible(): boolean; protected onEvent(_e: Event, activeElement: HTMLElement): void; dispose(): void; } export interface IActionProvider { getActions(): readonly IAction[]; } export declare function isActionProvider(obj: unknown): obj is IActionProvider; export interface IDropdownMenuOptions extends IBaseDropdownOptions { contextMenuProvider: IContextMenuProvider; readonly actions?: IAction[]; readonly actionProvider?: IActionProvider; menuClassName?: string; menuAsChild?: boolean; readonly skipTelemetry?: boolean; } export declare class DropdownMenu extends BaseDropdown { private readonly _options; private _menuOptions; private _actions; constructor(container: HTMLElement, _options: IDropdownMenuOptions); set menuOptions(options: IMenuOptions | undefined); get menuOptions(): IMenuOptions | undefined; private get actions(); private set actions(value); show(): void; hide(): void; private onHide; }