export declare enum NodeType { Row = "row", Delimited = "delimited", Accent = "accent", Macro = "macro", Table = "table", SubSup = "subsup", Limits = "limits", Frac = "frac", Root = "root" } export type Row = C & { readonly type: NodeType.Row; readonly children: readonly Node[]; }; export type Delimited = C & { readonly type: NodeType.Delimited; readonly children: readonly [Row]; readonly leftDelim: Atom; readonly rightDelim: Atom; }; export declare enum AccentType { Hat = "hat", Bar = "bar", Vec = "vec", Dot = "dot", DDot = "ddot", Tilde = "tilde", Acute = "acute", Grave = "grave" } export declare const isAccentType: (accent: string) => accent is AccentType; export type Accent = C & { readonly type: NodeType.Accent; readonly accent: AccentType; readonly wide: boolean; readonly children: readonly [Row]; }; export type Macro = C & { readonly type: NodeType.Macro; readonly children: readonly [Row]; }; export type RowStyle = { readonly border?: 'top' | 'bottom'; readonly alignment?: 'top' | 'middle' | 'bottom'; }; type ColStyle = { readonly border?: 'left' | 'right'; readonly alignment?: 'left' | 'center' | 'right'; }; export type Table = C & { readonly type: NodeType.Table; readonly children: readonly (Row | null)[]; readonly rowCount: number; readonly colCount: number; readonly delimiters?: { readonly left: Atom; readonly right: Atom; }; readonly rowStyles?: readonly (RowStyle | null)[]; readonly colStyles?: readonly (ColStyle | null)[]; }; export type SubSup = C & { readonly type: NodeType.SubSup; readonly children: readonly [Row | null, Row | null]; }; export type Limits = C & { readonly type: NodeType.Limits; readonly inner: Node; readonly children: readonly [Row, Row | null]; }; export type Frac = C & { readonly type: NodeType.Frac; readonly children: readonly [Row, Row]; }; export type Root = C & { readonly type: NodeType.Root; readonly children: readonly [Row | null, Row]; }; export type Atom = C & A; export type Node = Row | Delimited | Accent | Macro | Table | SubSup | Limits | Frac | Root | Atom; export {};