import type { ResolveTree } from "graphql-parse-resolve-info";
import { AttributeAdapter } from "../../../../schema-model/attribute/model-adapters/AttributeAdapter";
import type { EntityAdapter } from "../../../../schema-model/entity/EntityAdapter";
import type { Neo4jGraphQLTranslationContext } from "../../../../types/neo4j-graphql-translation-context";
import { CypherAttributeOperation } from "../../ast/operations/CypherAttributeOperation";
import { CypherEntityOperation } from "../../ast/operations/CypherEntityOperation";
import { CompositeCypherOperation } from "../../ast/operations/composite/CompositeCypherOperation";
import type { QueryASTFactory } from "../QueryASTFactory";
export declare class CustomCypherFactory {
    private queryASTFactory;
    constructor(queryASTFactory: QueryASTFactory);
    createCustomCypherOperation({ resolveTree, context, entity, cypherAttributeField, cypherArguments, }: {
        resolveTree?: ResolveTree;
        context: Neo4jGraphQLTranslationContext;
        entity?: EntityAdapter;
        cypherAttributeField: AttributeAdapter;
        cypherArguments?: Record<string, any>;
    }): CypherEntityOperation | CompositeCypherOperation | CypherAttributeOperation;
    createTopLevelCustomCypherOperation({ resolveTree, context, entity, }: {
        resolveTree: ResolveTree;
        context: Neo4jGraphQLTranslationContext;
        entity?: EntityAdapter;
    }): CypherEntityOperation | CompositeCypherOperation | CypherAttributeOperation;
}
//# sourceMappingURL=CustomCypherFactory.d.ts.map