import { EventLike } from "../../dom.js"; import { IActionViewItem } from "./actionbar.js"; import { IContextViewProvider } from "../contextview/contextview.js"; import { IHoverDelegate } from "../hover/hoverDelegate.js"; import { ISelectBoxOptions, ISelectBoxStyles, ISelectOptionItem, SelectBox } from "../selectBox/selectBox.js"; import { IToggleStyles } from "../toggle/toggle.js"; import { IAction, IActionRunner } from "../../../common/actions.js"; import { Disposable } from "../../../common/lifecycle.js"; import type { IManagedHoverContent } from "../hover/hover.js"; export interface IBaseActionViewItemOptions { readonly draggable?: boolean; readonly isMenu?: boolean; readonly isTabList?: boolean; readonly useEventAsContext?: boolean; readonly hoverDelegate?: IHoverDelegate; } export declare class BaseActionViewItem extends Disposable implements IActionViewItem { protected readonly options: IBaseActionViewItemOptions; element: HTMLElement | undefined; _context: unknown; readonly _action: IAction; private customHover?; get action(): IAction; private _actionRunner; constructor(context: unknown, action: IAction, options?: IBaseActionViewItemOptions); private handleActionChangeEvent; get actionRunner(): IActionRunner; set actionRunner(actionRunner: IActionRunner); isEnabled(): boolean; setActionContext(newContext: unknown): void; render(container: HTMLElement): void; onClick(event: EventLike, preserveFocus?: boolean): void; focus(): void; isFocused(): boolean; blur(): void; setFocusable(focusable: boolean): void; get trapsArrowNavigation(): boolean; protected updateEnabled(): void; protected updateLabel(): void; protected getClass(): string | undefined; protected getTooltip(): string | undefined; protected getHoverContents(): IManagedHoverContent | undefined; protected updateTooltip(): void; protected updateAriaLabel(): void; protected updateClass(): void; protected updateChecked(): void; dispose(): void; } export interface IActionViewItemOptions extends IBaseActionViewItemOptions { icon?: boolean; label?: boolean; readonly keybinding?: string | null; readonly keybindingNotRenderedWithLabel?: boolean; readonly toggleStyles?: IToggleStyles; } export declare class ActionViewItem extends BaseActionViewItem { protected label: HTMLElement | undefined; protected readonly options: IActionViewItemOptions; private cssClass?; constructor(context: unknown, action: IAction, options: IActionViewItemOptions); render(container: HTMLElement): void; private getDefaultAriaRole; focus(): void; isFocused(): boolean; blur(): void; setFocusable(focusable: boolean): void; protected updateLabel(): void; protected getTooltip(): string | undefined; protected updateClass(): void; protected updateEnabled(): void; protected updateAriaLabel(): void; protected updateChecked(): void; } export declare class SelectActionViewItem extends BaseActionViewItem { protected selectBox: SelectBox; constructor(ctx: unknown, action: IAction, options: ISelectOptionItem[], selected: number, contextViewProvider: IContextViewProvider, styles: ISelectBoxStyles, selectBoxOptions?: ISelectBoxOptions); setOptions(options: ISelectOptionItem[], selected?: number): void; select(index: number): void; private registerListeners; protected runAction(option: string, index: number): void; protected getActionContext(option: string, index: number): T | string; setFocusable(focusable: boolean): void; focus(): void; blur(): void; render(container: HTMLElement): void; }