import ts from "typescript"; import { BaseType } from "./Type/BaseType"; import { ReferenceType } from "./Type/ReferenceType"; import { Config } from "./Config"; export declare class Context { private cacheKey; private arguments; private parameters; private reference?; private defaultArgument; private parentContext?; ignoreLimits?: boolean | undefined; private skipNode; isParameter: boolean; constructor(reference?: ts.Node, parentContext?: Context); pushArgument(argumentType: BaseType): void; pushParameter(parameterName: string): void; setDefault(parameterName: string, argumentType: BaseType | undefined): void; getCacheKey(config?: Config): string; getArgument(parameterName: string): BaseType; getParameters(): readonly string[]; getArguments(): readonly BaseType[]; getReference(): ts.Node | undefined; getParentContext(): Context | undefined; hasParentContext(): boolean; hasParentContextRecreance(): boolean; setSkipNode(node: ts.Node): this; getSkipNode(): ts.Node; } export interface NodeParser { createType(node: ts.Node, context: Context, reference?: ReferenceType): BaseType; }