import { StructureNode, SerializeOptions, Serializable, Child } from './StructureNodes'; import { Layout } from './Layout'; import { MenuItem, MenuItemBuilder } from './MenuItem'; import { MenuItemGroup, MenuItemGroupBuilder } from './MenuItemGroup'; import { IntentChecker } from './Intent'; export interface ListDisplayOptions { showIcons?: boolean; } export interface BaseGenericList extends StructureNode { defaultLayout?: Layout; canHandleIntent?: IntentChecker; displayOptions?: ListDisplayOptions; child: Child; } export interface GenericList extends BaseGenericList { type: string; menuItems: MenuItem[]; menuItemGroups: MenuItemGroup[]; } export interface BuildableGenericList extends Partial { menuItems?: (MenuItem | MenuItemBuilder)[]; menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[]; } export interface GenericListInput extends StructureNode { id: string; title: string; menuItems?: (MenuItem | MenuItemBuilder)[]; menuItemGroups?: (MenuItemGroup | MenuItemGroupBuilder)[]; defaultLayout?: Layout; canHandleIntent?: IntentChecker; child?: Child; } export declare abstract class GenericListBuilder implements Serializable { protected spec: L; id(id: string): ConcreteImpl; getId(): string | undefined; title(title: string): ConcreteImpl; getTitle(): string | undefined; defaultLayout(defaultLayout: Layout): ConcreteImpl; getDefaultLayout(): "default" | "media" | "card" | "detail" | "block" | undefined; menuItems(menuItems: (MenuItem | MenuItemBuilder)[]): ConcreteImpl; getMenuItems(): (MenuItem | MenuItemBuilder)[] | undefined; menuItemGroups(menuItemGroups: (MenuItemGroup | MenuItemGroupBuilder)[]): ConcreteImpl; getMenuItemGroups(): (MenuItemGroup | MenuItemGroupBuilder)[] | undefined; child(child: Child): ConcreteImpl; 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; canHandleIntent(canHandleIntent: IntentChecker): ConcreteImpl; getCanHandleIntent(): IntentChecker | undefined; showIcons(enabled: boolean): ConcreteImpl; getShowIcons(): boolean | undefined; serialize(options?: SerializeOptions): GenericList; clone(withSpec?: object): ConcreteImpl; }