/**
 * Shared helper for opening detached read-only runtime clones.
 *
 * Used by QueryController and MaterializeController for snapshot
 * isolation. Will be replaced by DetachedGraphFactory once DI is wired.
 */
import type BlobStoragePort from '../../../ports/BlobStoragePort.ts';
import type CheckpointStorePort from '../../../ports/CheckpointStorePort.ts';
import type CodecPort from '../../../ports/CodecPort.ts';
import type CryptoPort from '../../../ports/CryptoPort.ts';
import type IndexStorePort from '../../../ports/IndexStorePort.ts';
import type LoggerPort from '../../../ports/LoggerPort.ts';
import type PatchJournalPort from '../../../ports/PatchJournalPort.ts';
import type SeekCachePort from '../../../ports/SeekCachePort.ts';
import type { CorePersistence } from '../../types/WarpPersistence.ts';
import type { NormalizedTrustConfig } from '../../runtimeHelpers.ts';
import type GCPolicy from '../GCPolicy.ts';
import type { DetachedGraphInternalReadSurface } from '../../capabilities/DetachedGraphFactory.ts';
export type DetachedOpenOptions = {
    persistence: CorePersistence;
    graphName: string;
    writerId: string;
    gcPolicy: GCPolicy;
    autoMaterialize: false;
    onDeleteWithData: 'reject' | 'cascade' | 'warn';
    crypto: CryptoPort;
    codec: CodecPort;
    audit: false;
    checkpointPolicy?: {
        every: number;
    };
    logger?: LoggerPort;
    seekCache?: SeekCachePort;
    blobStorage?: BlobStoragePort;
    patchBlobStorage?: BlobStoragePort;
    trust?: NormalizedTrustConfig;
    patchJournal?: PatchJournalPort;
    checkpointStore?: CheckpointStorePort;
    indexStore?: IndexStorePort;
};
export type DetachedGraphOpen = (options: DetachedOpenOptions) => Promise<DetachedGraphInternalReadSurface>;
export type DetachedOpenHost = {
    _persistence: CorePersistence;
    _graphName: string;
    _writerId: string;
    _gcPolicy: GCPolicy;
    _checkpointPolicy: {
        every: number;
    } | null;
    _logger: LoggerPort | null;
    _seekCache: SeekCachePort | null;
    _blobStorage: BlobStoragePort | null;
    _patchBlobStorage: BlobStoragePort | null;
    _trustConfig: NormalizedTrustConfig;
    _patchJournal: PatchJournalPort;
    _checkpointStore: CheckpointStorePort;
    _indexStore: IndexStorePort;
    _onDeleteWithData: 'reject' | 'cascade' | 'warn';
    _crypto: CryptoPort;
    _codec: CodecPort;
};
/** Opens a detached read-only clone for snapshot queries. */
export declare function openDetachedGraph(graph: DetachedOpenHost, open: DetachedGraphOpen): Promise<DetachedGraphInternalReadSurface>;
