export declare class ParseNode {
    name: string | undefined;
    from: number;
    to: number;
    children?: ParseNode[];
    constructor(wrapped: ParseNode);
    constructor(name: string | undefined, from: number, to: number, children?: ParseNode[]);
    static error(from: number, to?: number): ParseNode;
    static empty(index: number): ParseNode;
    substringOf(input: string): string;
    get isError(): boolean;
    get isEmpty(): boolean;
    find<N extends ParseNode>(predicate: (abstract new (...args: any[]) => N) | (new (...args: any[]) => N) | ((node: ParseNode) => node is N)): N | undefined;
    find(predicate: string | (abstract new (...args: any[]) => ParseNode) | (new (...args: any[]) => ParseNode) | ((node: ParseNode) => boolean)): ParseNode | undefined;
    findAll<N extends ParseNode>(predicate: (abstract new (...args: any[]) => N) | (new (...args: any[]) => N) | ((node: ParseNode) => node is N)): Iterable<N>;
    findAll(predicate: string | (abstract new (...args: any[]) => ParseNode) | (new (...args: any[]) => ParseNode) | ((node: ParseNode) => boolean)): Iterable<ParseNode>;
}
//# sourceMappingURL=ParseNode.d.ts.map