UNPKG

1.44 kBPlain TextView Raw
1import {DocumentListBuilder, DocumentList} from './DocumentList'
2import {EditorBuilder} from './Editor'
3import {ListItemBuilder} from './ListItem'
4import {ListBuilder, List} from './List'
5import {MenuItemBuilder} from './MenuItem'
6import {MenuItemGroupBuilder} from './MenuItemGroup'
7import {Component, ComponentBuilder} from './Component'
8import {DocumentListItemBuilder} from './DocumentListItem'
9import {ChildResolver} from './ChildResolver'
10import {DocumentTypeListBuilder} from './DocumentTypeList'
11
12export interface StructureNode {
13 id: string
14 title?: string
15 type?: string
16}
17
18export interface EditorNode extends StructureNode {
19 options: {
20 id: string
21 type?: string
22 }
23}
24
25export interface Divider {
26 id: string
27 type: 'divider'
28}
29
30export type SerializePath = (string | number)[]
31
32export interface SerializeOptions {
33 path: SerializePath
34 index?: number
35 hint?: string
36}
37
38export interface Serializable {
39 serialize(options: SerializeOptions): {}
40}
41
42export type Collection = List | DocumentList | EditorNode | Component
43
44export type CollectionBuilder =
45 | ListBuilder
46 | DocumentListBuilder
47 | DocumentTypeListBuilder
48 | EditorBuilder
49 | ComponentBuilder
50
51export type Child = Collection | CollectionBuilder | ChildResolver
52
53export type Builder =
54 | CollectionBuilder
55 | ComponentBuilder
56 | DocumentListBuilder
57 | DocumentListItemBuilder
58 | ListItemBuilder
59 | MenuItemBuilder
60 | MenuItemGroupBuilder