UNPKG

2.66 kBTypeScriptView Raw
1import { StructureNode, SerializeOptions, Serializable, Child } from './StructureNodes';
2import { Layout } from './Layout';
3import { MenuItem, MenuItemBuilder } from './MenuItem';
4import { MenuItemGroup, MenuItemGroupBuilder } from './MenuItemGroup';
5import { IntentChecker } from './Intent';
6export interface ListDisplayOptions {
7 showIcons?: boolean;
8}
9export interface BaseGenericList extends StructureNode {
10 defaultLayout?: Layout;
11 canHandleIntent?: IntentChecker;
12 displayOptions?: ListDisplayOptions;
13 child: Child;
14}
15export interface GenericList extends BaseGenericList {
16 type: string;
17 menuItems: MenuItem[];
18 menuItemGroups: MenuItemGroup[];
19}
20export interface BuildableGenericList extends Partial<BaseGenericList> {
21 menuItems?: (MenuItem | MenuItemBuilder)[];
22 menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[];
23}
24export 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}
33export 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}