import { DocumentTypeDecoration, ResultOf } from '@graphql-typed-document-node/core'; import { TypedDocumentString, Incremental } from './graphql.js'; type FragmentType> = TDocumentType extends DocumentTypeDecoration ? [TType] extends [{ ' $fragmentName'?: infer TKey; }] ? TKey extends string ? { ' $fragmentRefs'?: { [key in TKey]: TType; }; } : never : never : never; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: FragmentType>): TType; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: FragmentType> | undefined): TType | undefined; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: FragmentType> | null): TType | null; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: FragmentType> | null | undefined): TType | null | undefined; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: Array>>): Array; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: Array>> | null | undefined): Array | null | undefined; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: ReadonlyArray>>): ReadonlyArray; declare function useFragment(_documentNode: DocumentTypeDecoration, fragmentType: ReadonlyArray>> | null | undefined): ReadonlyArray | null | undefined; declare function makeFragmentData, FT extends ResultOf>(data: FT, _fragment: F): FragmentType; declare function isFragmentReady(queryNode: TypedDocumentString, fragmentNode: TypedDocumentString, data: FragmentType, any>> | null | undefined): data is FragmentType; export { type FragmentType, isFragmentReady, makeFragmentData, useFragment };