import type { FieldPolicy, Reference } from "@apollo/client/cache"; type KeyArgs = FieldPolicy["keyArgs"]; /** * A basic pagination field policy that always concatenates new * results onto the existing array, without examining options.args. * * @param keyArgs - `keyArgs` that should be applied to the field policy * @returns The field policy that handles concatenating field results. */ export declare function concatPagination(keyArgs?: KeyArgs): FieldPolicy; /** * A basic field policy that uses `options.args.{offset,limit}` to splice * the incoming data into the existing array. If your arguments are called * something different (like `args.{start,count}`), feel free to copy/paste * this implementation and make the appropriate changes. * * @param keyArgs - `keyArgs` that should be applied to the field policy * @returns The field policy that handles offset/limit pagination */ export declare function offsetLimitPagination(keyArgs?: KeyArgs): FieldPolicy; type TRelayEdge = { cursor?: string; node: TNode; } | (Reference & { cursor?: string; }); export type TRelayPageInfo = { hasPreviousPage: boolean; hasNextPage: boolean; startCursor: string; endCursor: string; }; type TExistingRelay = Readonly<{ edges: TRelayEdge[]; pageInfo: TRelayPageInfo; }>; type TIncomingRelay = { edges?: TRelayEdge[]; pageInfo?: TRelayPageInfo; }; type RelayFieldPolicy = FieldPolicy | null, TIncomingRelay | null, TIncomingRelay | null>; /** * A field policy that attempts to handle pagination for fields that adhere to * the [Relay Connections Spec](https://relay.dev/graphql/connections.htm). * * @param keyArgs - `keyArgs` that should be applied to the field policy * @returns The field policy that handles Relay pagination */ export declare function relayStylePagination(keyArgs?: KeyArgs): RelayFieldPolicy; export {}; //# sourceMappingURL=pagination.d.ts.map