import { GraphQLNonNull, type DirectiveNode, type GraphQLResolveInfo } from "graphql";
import type { InputTypeComposer, SchemaComposer } from "graphql-compose";
import type { ConcreteEntityAdapter } from "../../../schema-model/entity/model-adapters/ConcreteEntityAdapter";
import type { InterfaceEntityAdapter } from "../../../schema-model/entity/model-adapters/InterfaceEntityAdapter";
import type { Neo4jGraphQLSchemaModel } from "../../../schema-model/Neo4jGraphQLSchemaModel";
import type { Neo4jGraphQLComposedContext } from "../composition/wrap-query-and-mutation";
export declare function rootConnectionResolver({ composer, entityAdapter, propagatedDirectives, isLimitRequired, schemaModel, }: {
    composer: SchemaComposer;
    entityAdapter: InterfaceEntityAdapter | ConcreteEntityAdapter;
    propagatedDirectives: DirectiveNode[];
    isLimitRequired: boolean | undefined;
    schemaModel: Neo4jGraphQLSchemaModel;
}): {
    type: import("graphql-compose").NonNullComposer<import("graphql-compose").ObjectTypeComposer<any, any>>;
    resolve: (_root: any, args: any, context: Neo4jGraphQLComposedContext, info: GraphQLResolveInfo) => Promise<{
        totalCount: number;
        edges: never[];
        pageInfo: {
            hasNextPage: boolean;
            hasPreviousPage: boolean;
            startCursor: null;
            endCursor: null;
        };
    } | {
        totalCount: any;
        edges: any;
        pageInfo: any;
        aggregate: any;
    }>;
    args: {
        sort?: import("graphql-compose").ListComposer<import("graphql-compose").NonNullComposer<InputTypeComposer<any>>> | undefined;
        first: import("graphql").GraphQLScalarType<number, number> | GraphQLNonNull<import("graphql").GraphQLScalarType<number, number>>;
        after: import("graphql").GraphQLScalarType<string, string>;
        where: string;
    };
};
//# sourceMappingURL=root-connection.d.ts.map