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'; import { InitialValueTemplateItem, InitialValueTemplateItemBuilder } from './InitialValueTemplateItem'; export declare const shallowIntentChecker: IntentChecker; export interface ListDisplayOptions { showIcons?: boolean; } export interface BaseGenericList extends StructureNode { defaultLayout?: Layout; canHandleIntent?: IntentChecker; displayOptions?: ListDisplayOptions; child: Child; initialValueTemplates?: (InitialValueTemplateItem | InitialValueTemplateItemBuilder)[]; } 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)[]; initialValueTemplates?: (InitialValueTemplateItem | InitialValueTemplateItemBuilder)[]; defaultLayout?: Layout; canHandleIntent?: IntentChecker; child?: Child; } export declare abstract class GenericListBuilder implements Serializable { protected initialValueTemplatesSpecified: boolean; protected spec: L; id(id: string): ConcreteImpl; getId(): string | undefined; title(title: string): ConcreteImpl; getTitle(): string | undefined; defaultLayout(defaultLayout: Layout): ConcreteImpl; getDefaultLayout(): Layout | undefined; menuItems(menuItems: (MenuItem | MenuItemBuilder)[]): ConcreteImpl; getMenuItems(): (MenuItem | MenuItemBuilder)[] | undefined; menuItemGroups(menuItemGroups: (MenuItemGroup | MenuItemGroupBuilder)[]): ConcreteImpl; getMenuItemGroups(): (MenuItemGroup | MenuItemGroupBuilder)[] | undefined; child(child: Child): ConcreteImpl; getChild(): Child | undefined; canHandleIntent(canHandleIntent: IntentChecker): ConcreteImpl; getCanHandleIntent(): IntentChecker | undefined; showIcons(enabled: boolean): ConcreteImpl; getShowIcons(): boolean | undefined; initialValueTemplates(templates: InitialValueTemplateItem | InitialValueTemplateItem[]): ConcreteImpl; getInitialValueTemplates(): (InitialValueTemplateItem | InitialValueTemplateItemBuilder)[] | undefined; serialize(options?: SerializeOptions): GenericList; clone(_withSpec?: object): ConcreteImpl; } //# sourceMappingURL=GenericList.d.ts.map