import type { TApiSnapshot, TResourceSnapshot } from "../../../query/types/index.js"; import type { Resource } from "../resource/Resource.js"; export interface TSnapshoterOptions { initialSnapshot: TApiSnapshot | null; snapshotValidTime: number | false; keyPrefix: string | null; } export declare class Snapshoter { private readonly _initialSnapshot; private readonly _snapshotValidTime; private readonly _keyPrefix; constructor(options: TSnapshoterOptions); /** * Build hydration entries for a resource from the initial snapshot. * Returns `undefined` when no matching snapshot data exists. */ hydrateResource(snapshotKey: string | undefined, resourceSnapshotValidTime?: number | false): TResourceSnapshot | undefined; /** * Collects a serializable snapshot of all registered resources. */ getSnapshot(resources: Resource[]): TApiSnapshot; }