import ts from "typescript"; import { MutableParser } from "./MutableParser"; import { Context } from "./NodeParser"; import { SubNodeParser } from "./SubNodeParser"; import { BaseType } from "./Type/BaseType"; import { ReferenceType } from "./Type/ReferenceType"; import { Config } from "./Config"; export declare class ChainNodeParser implements SubNodeParser, MutableParser { protected typeChecker: ts.TypeChecker; protected nodeParsers: SubNodeParser[]; private config; protected readonly typeCaches: WeakMap>; constructor(typeChecker: ts.TypeChecker, nodeParsers: SubNodeParser[], config: Config); addNodeParser(nodeParser: SubNodeParser): this; supportsNode(node: ts.Node): boolean; createType(node: ts.Node, context: Context, reference?: ReferenceType): BaseType; protected getNodeParser(node: ts.Node, context: Context): SubNodeParser; }