import { DocumentListBuilder, DocumentList } from './DocumentList'; import { EditorBuilder } from './Editor'; import { ListItemBuilder } from './ListItem'; import { ListBuilder, List } from './List'; import { MenuItemBuilder } from './MenuItem'; import { MenuItemGroupBuilder } from './MenuItemGroup'; import { Component, ComponentBuilder } from './Component'; import { DocumentListItemBuilder } from './DocumentListItem'; import { ChildResolver } from './ChildResolver'; import { DocumentTypeListBuilder } from './DocumentTypeList'; export interface StructureNode { id: string; title?: string; type?: string; } export interface EditorNode extends StructureNode { options: { id: string; type?: string; }; } export interface Divider { id: string; type: 'divider'; } export declare type SerializePath = (string | number)[]; export interface SerializeOptions { path: SerializePath; index?: number; hint?: string; } export interface Serializable { serialize(options: SerializeOptions): {}; } export declare type Collection = List | DocumentList | EditorNode | Component; export declare type CollectionBuilder = ListBuilder | DocumentListBuilder | DocumentTypeListBuilder | EditorBuilder | ComponentBuilder; export declare type Child = Collection | CollectionBuilder | ChildResolver; export declare type Builder = CollectionBuilder | ComponentBuilder | DocumentListBuilder | DocumentListItemBuilder | ListItemBuilder | MenuItemBuilder | MenuItemGroupBuilder;