@curvenote/schema
Version:
Schema and markdown parser for @curvenote/editor
30 lines (29 loc) • 822 B
TypeScript
export declare class Text {
kind: string;
id: string;
text: string;
constructor(text: string);
}
export declare class Node {
kind: string;
id: string;
tag: string;
name: string;
children: (Node | Text)[];
attrs: Record<string, any>;
constructor(tag: string, name?: string);
appendChild(child: Node | Text): void;
setAttribute(name: string, value: any): void;
setAttributeNS(_: string, name: string, value: any): void;
}
export declare class Fragment {
children: (Node | Text)[];
constructor();
appendChild(child: Node | Text): void;
}
export declare function createDocument(): {
createTextNode(text: string): Text;
createElementNS(name: string, tag: string): Node;
createElement(tag: string): Node;
createDocumentFragment(): Fragment;
};