import { StructureSchema } from '@ephox/boulder'; import type { Optional, Result } from '@ephox/katamari'; export interface BaseToolbarButtonSpec { enabled?: boolean; tooltip?: string; icon?: string; text?: string; onSetup?: (api: I) => (api: I) => void; context?: string; } export interface BaseToolbarButtonInstanceApi { isEnabled: () => boolean; setEnabled: (state: boolean) => void; setText: (text: string) => void; setIcon: (icon: string) => void; } export interface ToolbarButtonSpec extends BaseToolbarButtonSpec { type?: 'button'; onAction: (api: ToolbarButtonInstanceApi) => void; shortcut?: string; } export interface ToolbarButtonInstanceApi extends BaseToolbarButtonInstanceApi { } export interface BaseToolbarButton { enabled: boolean; tooltip: Optional; icon: Optional; text: Optional; onSetup: (api: I) => (api: I) => void; context: string; } export interface ToolbarButton extends BaseToolbarButton { type: 'button'; onAction: (api: ToolbarButtonInstanceApi) => void; shortcut: Optional; } export declare const baseToolbarButtonFields: import("@ephox/boulder").FieldProcessor[]; export declare const toolbarButtonSchema: import("@ephox/boulder").StructureProcessor; export declare const createToolbarButton: (spec: ToolbarButtonSpec) => Result>; //# sourceMappingURL=ToolbarButton.d.ts.map