import type { PromiseOrValue } from 'graphql/jsutils/PromiseOrValue.cjs';
import { Logger } from '@graphql-hive/logger';
import { HttpCallConfig } from './http-client.cjs';
import { type PersistedDocumentsConfiguration } from './types.cjs';
type HeadersObject = {
    get(name: string): string | null;
};
type PersistedDocuments = {
    resolve(documentId: string, context?: {
        waitUntil?: (promise: Promise<void> | void) => void;
    }): PromiseOrValue<string | null>;
    allowArbitraryDocuments(context: {
        headers?: HeadersObject;
    }): PromiseOrValue<boolean>;
    dispose: () => void;
};
export declare function createPersistedDocuments(config: PersistedDocumentsConfiguration & {
    logger: Logger;
    fetch?: typeof fetch;
    retry?: HttpCallConfig['retry'];
    timeout?: HttpCallConfig['retry'];
}): PersistedDocuments;
export {};
//# sourceMappingURL=persisted-documents.d.ts.map