export declare enum NodeType {
    TEXT = 0,
    COLOR = 1,
    END_TAG = 2
}
export type TextNode = {
    type: NodeType.TEXT;
    text: string;
};
export type Rgba = [number, number, number, number];
export type ColorNode = {
    type: NodeType.COLOR;
    colorHex: string;
    colorRgba: Rgba;
    children: Node[];
};
export type EndTag = {
    type: NodeType.END_TAG;
    name: string;
};
export type Node = TextNode | ColorNode;
export type ParseNode = Node | EndTag;
export declare abstract class NodeVisitor {
    visitAll(nodes: Node[]): void;
    visit(node: Node): void;
    abstract visitText(node: TextNode): void;
    abstract visitColor(node: ColorNode): void;
}
