export interface ADFEntityMark { attrs?: { [name: string]: any; }; type: string; } export interface ADFEntity { [key: string]: any; attrs?: { [name: string]: any; }; content?: Array; marks?: Array; text?: string; type: string; } export type Visitor = (node: ADFEntity, parent: EntityParent, index: number, depth: number) => ADFEntity | false | undefined | void; export type VisitorCollection = { [nodeType: string]: Visitor; }; export type EntityParent = { node?: ADFEntity; parent?: EntityParent; };