import { SerializeOptions, Serializable, Collection, CollectionBuilder } from './StructureNodes'; import { SchemaType } from './parts/Schema'; import { ChildResolver } from './ChildResolver'; import { Partial } from './Partial'; import { FixMe } from './types'; declare type UnserializedListItemChild = Collection | CollectionBuilder | ChildResolver; declare type ListItemChild = Collection | ChildResolver | undefined; interface ListItemSerializeOptions extends SerializeOptions { titleIsOptional?: boolean; } interface ListItemDisplayOptions { showIcon?: boolean; } export interface ListItemInput { id: string; title?: string; icon?: FixMe; child?: ListItemChild; displayOptions?: ListItemDisplayOptions; schemaType?: SchemaType | string; } export interface ListItem { id: string; type: string; title?: string; icon?: FixMe; child?: ListItemChild; displayOptions?: ListItemDisplayOptions; schemaType?: SchemaType; } export interface UnserializedListItem { id: string; title: string; icon?: FixMe; child?: UnserializedListItemChild; displayOptions?: ListItemDisplayOptions; schemaType?: SchemaType | string; } declare type PartialListItem = Partial; export declare class ListItemBuilder implements Serializable { protected spec: PartialListItem; constructor(spec?: ListItemInput); id(id: string): ListItemBuilder; getId(): string | undefined; title(title: string): ListItemBuilder; getTitle(): string | undefined; icon(icon: FixMe): ListItemBuilder; showIcon(enabled: boolean): ListItemBuilder; getShowIcon(): boolean | undefined; getIcon(): Function | undefined; child(child: UnserializedListItemChild): ListItemBuilder; getChild(): UnserializedListItemChild | undefined; schemaType(schemaType: SchemaType | string): ListItemBuilder; getSchemaType(): string | SchemaType | undefined; serialize(options?: ListItemSerializeOptions): ListItem; clone(withSpec?: PartialListItem): ListItemBuilder; } export {}; //# sourceMappingURL=ListItem.d.ts.map