import { Token } from './token'; export declare type HCObjIterator = (node: ASTNode, par: ASTNode, replace_prop_index: number, replace_array_index: number) => void; /** * Base class for all ASTs generated by the ASYTrip * compiler. */ export declare class ASTNode { constructor(type: T, tok: Token); Iterate(parent: ASTNode, replace_prop_index: number, replace_array_index: number): void; iterate(parent: ASTNode, replace_prop_index: number, replace_array_index: number): Generator; replace(node: ASTNode, node_index: number, array_index: number): void; /** * Render this node back to its source code representation */ render(column: number): string; toString(): string; Type(): T[keyof T]; type: T; tok: Token; } export declare function iterate(node: ASTNode): Generator<{ node: never; }, void, unknown>;