import { ObjectTypeComposer, InterfaceTypeComposer, Resolver, ResolverResolveParams, ObjectTypeComposerFieldConfigMap } from 'graphql-compose'; import { PageInfoType, ConnectionType } from './types/connectionType'; import { CursorDataType } from './cursor'; export declare type ConnectionResolverOpts = { findManyResolver: Resolver; countResolver: Resolver; sort: ConnectionSortMapOpts; name?: string; defaultLimit?: number | undefined; edgeTypeName?: string; edgeFields?: ObjectTypeComposerFieldConfigMap; }; export declare type ConnectionSortOpts = { value: any; cursorFields: string[]; beforeCursorQuery: (rawQuery: any, cursorData: CursorDataType, resolveParams: Partial>) => any; afterCursorQuery: (rawQuery: any, cursorData: CursorDataType, resolveParams: Partial>) => any; }; export declare type ConnectionSortMapOpts = { [sortName: string]: ConnectionSortOpts; }; export interface ConnectionTArgs { first?: number | null; after?: string; last?: number | null; before?: string; sort?: Record; filter?: Record; [argName: string]: any; } export declare function prepareConnectionResolver(tc: ObjectTypeComposer | InterfaceTypeComposer, opts: ConnectionResolverOpts): Resolver; export declare function preparePageInfo(edges: { cursor: string; [key: string]: any; }[], args: { last?: number | null; first?: number | null; after?: string; before?: string; }, limit: number, skip: number): PageInfoType; export declare function prepareRawQuery(rp: Partial>, sortConfig: ConnectionSortOpts): void; export declare function prepareLimitSkipFallback(rp: ResolverResolveParams, limit: number, skip: number): [number, number]; export declare function emptyConnection(): ConnectionType; export declare function findSortConfig(configs: ConnectionSortMapOpts, val: unknown): ConnectionSortOpts | undefined; //# sourceMappingURL=connection.d.ts.map