1 | import { StructureNode, SerializeOptions, Serializable, Child } from './StructureNodes';
|
2 | import { Layout } from './Layout';
|
3 | import { MenuItem, MenuItemBuilder } from './MenuItem';
|
4 | import { MenuItemGroup, MenuItemGroupBuilder } from './MenuItemGroup';
|
5 | import { IntentChecker } from './Intent';
|
6 | export interface ListDisplayOptions {
|
7 | showIcons?: boolean;
|
8 | }
|
9 | export interface BaseGenericList extends StructureNode {
|
10 | defaultLayout?: Layout;
|
11 | canHandleIntent?: IntentChecker;
|
12 | displayOptions?: ListDisplayOptions;
|
13 | child: Child;
|
14 | }
|
15 | export interface GenericList extends BaseGenericList {
|
16 | type: string;
|
17 | menuItems: MenuItem[];
|
18 | menuItemGroups: MenuItemGroup[];
|
19 | }
|
20 | export interface BuildableGenericList extends Partial<BaseGenericList> {
|
21 | menuItems?: (MenuItem | MenuItemBuilder)[];
|
22 | menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[];
|
23 | }
|
24 | export interface GenericListInput extends StructureNode {
|
25 | id: string;
|
26 | title: string;
|
27 | menuItems?: (MenuItem | MenuItemBuilder)[];
|
28 | menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[];
|
29 | defaultLayout?: Layout;
|
30 | canHandleIntent?: IntentChecker;
|
31 | child?: Child;
|
32 | }
|
33 | export declare abstract class GenericListBuilder<L extends BuildableGenericList, ConcreteImpl> implements Serializable {
|
34 | protected spec: L;
|
35 | id(id: string): ConcreteImpl;
|
36 | getId(): string | undefined;
|
37 | title(title: string): ConcreteImpl;
|
38 | getTitle(): string | undefined;
|
39 | defaultLayout(defaultLayout: Layout): ConcreteImpl;
|
40 | getDefaultLayout(): "default" | "media" | "card" | "detail" | "block" | undefined;
|
41 | menuItems(menuItems: (MenuItem | MenuItemBuilder)[]): ConcreteImpl;
|
42 | getMenuItems(): (MenuItem | MenuItemBuilder)[] | undefined;
|
43 | menuItemGroups(menuItemGroups: (MenuItemGroup | MenuItemGroupBuilder)[]): ConcreteImpl;
|
44 | getMenuItemGroups(): (MenuItemGroup | MenuItemGroupBuilder)[] | undefined;
|
45 | child(child: Child): ConcreteImpl;
|
46 | getChild(): import("./Editor").EditorBuilder | import("./StructureNodes").EditorNode | import("./List").List | import("./DocumentList").DocumentList | import("./Component").Component | import("./List").ListBuilder | import("./DocumentList").DocumentListBuilder | import("./DocumentTypeList").DocumentTypeListBuilder | import("./Component").ComponentBuilder | import("./ChildResolver").ChildResolver | undefined;
|
47 | canHandleIntent(canHandleIntent: IntentChecker): ConcreteImpl;
|
48 | getCanHandleIntent(): IntentChecker | undefined;
|
49 | showIcons(enabled: boolean): ConcreteImpl;
|
50 | getShowIcons(): boolean | undefined;
|
51 | serialize(options?: SerializeOptions): GenericList;
|
52 | clone(withSpec?: object): ConcreteImpl;
|
53 | }
|