/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import { ConcreteRequest, Disposable, DisposeFn, GraphQLResponse, Observer, OperationType, ReaderFragment, ReaderPaginationMetadata, VariablesOf, } from 'relay-runtime'; export type Direction = 'forward' | 'backward'; export type LoadMoreFn = ( count: number, options?: { onComplete?: ((arg: Error | null) => void) | undefined; UNSTABLE_extraVariables?: Partial> | undefined; }, ) => Disposable; export interface UseLoadMoreFunctionArgs { direction: Direction; fragmentNode: ReaderFragment; fragmentRef: unknown; fragmentIdentifier: string; fragmentData: unknown; connectionPathInFragmentData: ReadonlyArray; identifierField?: string | null | undefined; paginationRequest: ConcreteRequest; paginationMetadata: ReaderPaginationMetadata; componentDisplayName: string; observer: Observer; onReset: () => void; } export function useLoadMoreFunction( args: UseLoadMoreFunctionArgs, ): [LoadMoreFn, boolean, DisposeFn]; export function getConnectionState( direction: Direction, fragmentNode: ReaderFragment, fragmentData: unknown, connectionPathInFragmentData: ReadonlyArray, ): { cursor?: string | null | undefined; hasMore: boolean; };