import type { ApolloClient, OperationVariables } from '@apollo/client'; import type { MaybeMasked } from '@apollo/client/masking'; import type { DecoratedPromise } from '@apollo/client/utilities/internal'; import type { FragmentKey } from './types.js'; type FragmentRefPromise = DecoratedPromise; type Listener = (promise: FragmentRefPromise) => void; interface FragmentReferenceOptions { autoDisposeTimeoutMs?: number; onDispose?: () => void; } export declare class FragmentReference< TData = unknown, TVariables extends OperationVariables = OperationVariables, > { readonly observable: ApolloClient.ObservableFragment; readonly key: FragmentKey; promise: FragmentRefPromise>; private resolve; private reject; private subscription; private listeners; private autoDisposeTimeoutId?; private references; constructor( client: ApolloClient, watchFragmentOptions: ApolloClient.WatchFragmentOptions & { from: string | null | Array; }, options: FragmentReferenceOptions, ); listen(listener: Listener>): () => void; retain(): () => void; private dispose; private onDispose; private subscribeToFragment; private handleNext; private handleError; private deliver; private createPendingPromise; } export {};