import { ChacaUtils } from "../utils"; import { SchemaInput } from "../schema/interfaces/schema"; import { ChacaInputTree } from "../input-tree/chaca-input-tree"; import { InputTreeNode, RefValueNode, KeyValueNode } from "../input-tree/core"; import { ChacaResultTree } from "../result-tree/chaca-result-tree"; import { GetStoreValueConfig } from "../schema-store/interfaces/schema-store"; import { SearchedRefValue } from "../input-tree/core/ref/interfaces/ref"; import { DatatypeModule } from "../../modules/datatype"; import { NodeRoute } from "../input-tree/core/node/value-object/route"; import { SchemaToResolve } from "./value-object/schema-input"; import { DocumentTree } from "../result-tree/classes/document/document-tree"; import { FieldNode } from "../result-tree/classes/node/field-node"; import { SchemaCountExecutor } from "./value-object/schema-count-executor"; import { SchemaCount } from "./value-object/schema-count"; interface GetRefValueProps { caller: NodeRoute; search: NodeRoute; } interface Props { name: string; input: SchemaInput; countExecutor: SchemaCountExecutor; count: SchemaCount; schemaIndex: number; consoleVerbose: boolean; } export declare class SchemaResolver { private readonly utils; private readonly datatypeModule; private readonly subFieldsCreator; private readonly solutionCreator; private readonly arrayCreator; private readonly fillSolution; readonly index: number; readonly route: NodeRoute; private inputTree; private resultTree; private name; private countDocExecutor; private count; private input; private isBuilding; private finishBuilding; private schemasStore; private consoleVerbose; constructor(utils: ChacaUtils, datatypeModule: DatatypeModule, { consoleVerbose, count, countExecutor, schemaIndex, name, input }: Props); resolve(): Promise; getKeyNodes(): KeyValueNode[]; getPossibleNullNodes(): InputTreeNode[]; getRefNodes(): RefValueNode[]; getSchemaToResolve(): SchemaToResolve; buildInputTree(): void; getSchemaName(): string; isFinishBuilding(): boolean; isBuildingTrees(): boolean; setInjectedSchemas(array: SchemaResolver[]): void; getInputTree(): ChacaInputTree | null; getResultTree(): ChacaResultTree; getAllValuesByRoute(fieldToGet: string[], config: GetStoreValueConfig): Promise | FieldNode>>; getAllRefValuesByNodeRoute({ caller, search, }: GetRefValueProps): SearchedRefValue[]; searchRefNodes(): void; dangerCyclic(): boolean; buildTrees(caller: NodeRoute): Promise; getDocumentsArray(omitDocument?: DocumentTree): K[]; } export {};