import { CSSProperties, Ref } from 'vue'; declare const TOOLBAR_ITEM_TYPES: readonly ["button", "options", "separator", "dropdown", "overflow"]; export type ToolbarItemType = (typeof TOOLBAR_ITEM_TYPES)[number]; export interface ToolbarItemOption { key?: string | number; label?: string; type?: string; disabled?: boolean; class?: unknown; props?: Record; icon?: string | object | ((option: ToolbarItemOption) => unknown); render?: () => unknown; [member: string]: unknown; } export type ToolbarItemAttributes = { ariaLabel?: string; className?: unknown; [attribute: string]: unknown; }; export type ToolbarItemStyle = string | CSSProperties; export type ToolbarActivationAttributes = Record; export interface UseToolbarItemOptions { type: ToolbarItemType; name: string; command?: unknown; noArgumentCommand?: string; icon?: string; group?: string; allowWithoutEditor?: boolean; attributes?: ToolbarItemAttributes; disabled?: boolean; style?: ToolbarItemStyle; isNarrow?: boolean; isWide?: boolean; layoutWidth?: number; suppressActiveHighlight?: boolean; argument?: unknown; iconColor?: string; hasCaret?: boolean; splitButton?: boolean; splitButtonCommand?: unknown; restoreEditorFocus?: boolean; dropdownStyles?: unknown; tooltip?: string; tooltipVisible?: boolean; tooltipTimeout?: number; defaultLabel?: string; label?: string; hideLabel?: boolean; inlineTextInputVisible?: boolean; hasInlineTextInput?: boolean; markName?: string; labelAttr?: string; selectedValue?: string | number | null; dropdownValueKey?: string; inputRef?: unknown; options?: readonly ToolbarItemOption[]; onActivate?: (attributes: ToolbarActivationAttributes, isMultiple?: boolean) => unknown; onDeactivate?: () => unknown; } export interface ToolbarItem { type: ToolbarItemType; id: Ref; name: Ref; command?: unknown; noArgumentCommand?: string; splitButtonCommand?: unknown; group: Ref; attributes: Ref; disabled: Ref; active: Ref; expand: Ref; nestedOptions: Ref; label: Ref; defaultLabel: Ref; icon: Ref; selectedValue: Ref; hideLabel: Ref; iconColor: Ref; hasCaret: Ref; splitButton: Ref; inlineTextInputVisible: Ref; hasInlineTextInput: Ref; style: Ref; isNarrow: Ref; isWide: Ref; layoutWidth: Ref; tooltip: Ref; tooltipVisible: Ref; tooltipTimeout: Ref; argument: Ref; restoreEditorFocus: boolean; dropdownStyles: Ref; dropdownValueKey: Ref; allowWithoutEditor: Ref; markName: Ref; labelAttr: Ref; inputRef: Ref; childItem: unknown; parentItem: unknown; initiallyDisabled: boolean; isCustomToolbarItem?: boolean; activate(attributes?: ToolbarActivationAttributes, isMultiple?: boolean): void; deactivate(): void; setDisabled(state: boolean): void; resetDisabled(): void; onActivate(attributes: ToolbarActivationAttributes, isMultiple?: boolean): unknown; onDeactivate(): unknown; } export declare const useToolbarItem: (options: UseToolbarItemOptions) => ToolbarItem; export {};