import { StructureSchema } from '@ephox/boulder'; import type { Optional, Result } from '@ephox/katamari'; import type { FancyMenuItemSpec, MenuItemSpec, SeparatorMenuItemSpec, ToggleMenuItemSpec } from '../../api/Menu'; import { type CommonMenuItem, type CommonMenuItemSpec, type CommonMenuItemInstanceApi } from './CommonMenuItem'; export type NestedMenuItemContents = string | MenuItemSpec | NestedMenuItemSpec | ToggleMenuItemSpec | SeparatorMenuItemSpec | FancyMenuItemSpec; export interface NestedMenuItemSpec extends CommonMenuItemSpec { type?: 'nestedmenuitem'; icon?: string; getSubmenuItems: () => string | Array; onSetup?: (api: NestedMenuItemInstanceApi) => (api: NestedMenuItemInstanceApi) => void; } export interface NestedMenuItemInstanceApi extends CommonMenuItemInstanceApi { setTooltip: (tooltip: string) => void; setIconFill: (id: string, value: string) => void; } export interface NestedMenuItem extends CommonMenuItem { type: 'nestedmenuitem'; icon: Optional; getSubmenuItems: () => string | Array; onSetup: (api: NestedMenuItemInstanceApi) => (api: NestedMenuItemInstanceApi) => void; } export declare const nestedMenuItemSchema: import("@ephox/boulder").StructureProcessor; export declare const createNestedMenuItem: (spec: NestedMenuItemSpec) => Result>; //# sourceMappingURL=NestedMenuItem.d.ts.map