UNPKG

1.57 kBTypeScriptView Raw
1import { SerializeOptions, StructureNode, Serializable } from './StructureNodes';
2import { MenuItem, MenuItemBuilder } from './MenuItem';
3import { MenuItemGroup, MenuItemGroupBuilder } from './MenuItemGroup';
4export interface Component extends StructureNode {
5 component: Function;
6 menuItems: MenuItem[];
7 menuItemGroups: MenuItemGroup[];
8}
9export interface ComponentInput extends StructureNode {
10 component: Function;
11 menuItems?: (MenuItem | MenuItemBuilder)[];
12 menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[];
13}
14export interface BuildableComponent extends Partial<StructureNode> {
15 component?: Function;
16 menuItems?: (MenuItem | MenuItemBuilder)[];
17 menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[];
18}
19export declare class ComponentBuilder implements Serializable {
20 protected spec: BuildableComponent;
21 constructor(spec?: ComponentInput);
22 id(id: string): ComponentBuilder;
23 getId(): string | undefined;
24 title(title: string): ComponentBuilder;
25 getTitle(): string | undefined;
26 component(component: Function): ComponentBuilder;
27 getComponent(): Function | undefined;
28 menuItems(menuItems: (MenuItem | MenuItemBuilder)[]): ComponentBuilder;
29 getMenuItems(): (MenuItem | MenuItemBuilder)[] | undefined;
30 menuItemGroups(menuItemGroups: (MenuItemGroup | MenuItemGroupBuilder)[]): ComponentBuilder;
31 getMenuItemGroups(): (MenuItemGroup | MenuItemGroupBuilder)[] | undefined;
32 serialize(options?: SerializeOptions): Component;
33 clone(withSpec?: BuildableComponent): ComponentBuilder;
34}