import type { SnapshotStrategy, RetentionPolicy } from './strategy.js'; import type { SnapshotPolicy } from './policy.js'; import type { NoydbPodStore } from '../../kernel/types.js'; export interface WithSnapshotsOptions { /** Bundle store where snapshot blobs and the sidecar index are written. */ store: NoydbPodStore; /** * Declarative retention policy. Enforced eagerly after each on-demand `snapshot()`. * Defaults to no retention (all on-demand snapshots kept forever). Never affects * the rolling auto-snapshot. */ retention?: RetentionPolicy; /** * Automatic-snapshot cadence. Default `mode:'manual'` ⇒ no timers; snapshots * stay on-demand. Set `mode:'debounce'`/`'interval'` to enable auto-snapshots * to the rolling `__auto` key. */ snapshotPolicy?: SnapshotPolicy; } export declare function withSnapshots(opts: WithSnapshotsOptions): SnapshotStrategy;