import { SerializeOptions, StructureNode, Serializable, Child } from './StructureNodes'; import { MenuItem, MenuItemBuilder } from './MenuItem'; import { MenuItemGroup, MenuItemGroupBuilder } from './MenuItemGroup'; import { FixMe } from './types'; export interface Component extends StructureNode { component: FixMe; child?: Child; menuItems: MenuItem[]; menuItemGroups: MenuItemGroup[]; options: { [key: string]: unknown; }; } export interface ComponentInput extends StructureNode { component: FixMe; child?: Child; options?: { [key: string]: unknown; }; menuItems?: (MenuItem | MenuItemBuilder)[]; menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[]; } export interface BuildableComponent extends Partial { component?: FixMe; child?: Child; options?: { [key: string]: unknown; }; menuItems?: (MenuItem | MenuItemBuilder)[]; menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[]; } export declare class ComponentBuilder implements Serializable { protected spec: BuildableComponent; constructor(spec?: ComponentInput); id(id: string): ComponentBuilder; getId(): string | undefined; title(title: string): ComponentBuilder; getTitle(): string | undefined; child(child: Child): ComponentBuilder; getChild(): Child | undefined; component(component: FixMe): ComponentBuilder; getComponent(): Function | undefined; options(options: { [key: string]: unknown; }): ComponentBuilder; getOptions(): { [key: string]: unknown; }; menuItems(menuItems: (MenuItem | MenuItemBuilder)[]): ComponentBuilder; getMenuItems(): (MenuItem | MenuItemBuilder)[] | undefined; menuItemGroups(menuItemGroups: (MenuItemGroup | MenuItemGroupBuilder)[]): ComponentBuilder; getMenuItemGroups(): (MenuItemGroup | MenuItemGroupBuilder)[] | undefined; serialize(options?: SerializeOptions): Component; clone(withSpec?: BuildableComponent): ComponentBuilder; } //# sourceMappingURL=Component.d.ts.map