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