import { type Nabi } from '../editor/index.js'; import type { Registry, WingAction } from '../wing/index.js'; import { type Translator } from '../locale/index.js'; import { type Settle } from './parts/settle.js'; import type { FileMount } from '../surface/index.js'; export { TOOLBAR_GROUPS } from '../wing/toolbar-html.js'; export interface ToolbarOptions { readonly nabi: Nabi; readonly registry: Registry; readonly root: HTMLElement; readonly surface?: HTMLElement; readonly locale?: string; readonly translator?: Translator; readonly groups?: readonly string[]; readonly settle?: Settle; readonly onFiles?: (files: readonly File[]) => void; readonly onHost?: (w: string, anchor: HTMLElement) => void; readonly file?: FileMount; readonly accelerators?: boolean; } export interface ToolbarButton { readonly w: string; readonly group: string; readonly value?: string | number; readonly el: HTMLButtonElement; readonly shortcut?: string; readonly accelerator?: string; press(): boolean; accelerate(): boolean; } export interface Toolbar { readonly root: HTMLElement; readonly buttons: readonly ToolbarButton[]; refresh(): void; unmount(): void; } export interface KeyBox { contains(node: unknown): boolean; } export interface KeyScope { readonly surface?: KeyBox | null; readonly root?: KeyBox | null; } export declare function ownsKey(scope: KeyScope, target: unknown): boolean; export declare function actionReaches(action: WingAction | undefined, wired: { readonly savePanel: boolean; readonly onHost: boolean; }): boolean; export declare function mountToolbar(options: ToolbarOptions): Toolbar; //# sourceMappingURL=toolbar.d.ts.map