/** * Active expiration: background sweeper that deletes expired keys in batches. * Also prunes expired hash fields (redis_hash_field_ttl) and drops now-empty hashes. */ import type Database from '../storage/sqlite/driver.ts'; export interface ExpirationSweeperOptions { db: Database; clock: () => number; /** Defaults to 1000. */ sweepIntervalMs?: number; /** Defaults to 500. */ maxKeysPerSweep?: number; } export interface ExpirationSweeper { start: () => void; stop: () => void; } export declare function createExpirationSweeper(opts: ExpirationSweeperOptions): ExpirationSweeper;