import { Optional } from '@ephox/katamari'; import type { NestedMenuItemContents } from '../components/menu/NestedMenuItem'; export type MenuButtonItemTypes = NestedMenuItemContents; export type SuccessCallback = (menu: string | MenuButtonItemTypes[]) => void; export interface MenuButtonFetchContext { pattern: string; } export interface BaseMenuButtonSpec { buttonType?: 'default' | 'bordered'; text?: string; tooltip?: string; icon?: string; search?: boolean | { placeholder?: string; }; fetch: (success: SuccessCallback, fetchContext: MenuButtonFetchContext, api: BaseMenuButtonInstanceApi) => void; onSetup?: (api: BaseMenuButtonInstanceApi) => (api: BaseMenuButtonInstanceApi) => void; context?: string; } export interface BaseMenuButton { buttonType: 'default' | 'bordered'; text: Optional; tooltip: Optional; icon: Optional; search: Optional<{ placeholder: Optional; }>; fetch: (success: SuccessCallback, fetchContext: MenuButtonFetchContext, api: BaseMenuButtonInstanceApi) => void; onSetup: (api: BaseMenuButtonInstanceApi) => (api: BaseMenuButtonInstanceApi) => void; context: string; } export interface BaseMenuButtonInstanceApi { isEnabled: () => boolean; setEnabled: (state: boolean) => void; isActive: () => boolean; setActive: (state: boolean) => void; setTooltip: (tooltip: string) => void; setText: (text: string) => void; setIcon: (icon: string) => void; } export declare const baseMenuButtonFields: import("@ephox/boulder").FieldProcessor[]; //# sourceMappingURL=MenuButton.d.ts.map