import { type ChronicleEvent, type ChronicleEventInput, type ChronicleVerifyResult } from './types.js'; declare const GENESIS_HASH: string; export interface ChronicleJournalOptions { filePath: string; now?: (() => Date) | undefined; monotonicNow?: (() => bigint) | undefined; idFactory?: (() => string) | undefined; maxPending?: number | undefined; batchWindowMs?: number | undefined; maxPartitionSizeBytes?: number | undefined; rotationWindowMs?: number | undefined; retentionDays?: number | undefined; autoPurgeIntervalMs?: number | undefined; } export interface ChronicleJournalStats { acceptedEvents: number; persistedEvents: number; rejectedEvents: number; failedEvents: number; batches: number; pendingEvents: number; maxObservedPending: number; largestBatch: number; lastBatchDurationMs?: number | undefined; partitionRolls: number; } export interface ChroniclePurgeOptions { retentionDays: number; dryRun?: boolean | undefined; files?: string[] | undefined; } export interface ChroniclePurgeResult { deletedCount: number; deletedBytes: number; skippedCount: number; errors: Array<{ file: string; reason: string; }>; candidates?: string[] | undefined; } export declare class ChronicleJournal { private readonly basePath; private readonly now; private readonly monotonicNow; private readonly idFactory; private readonly maxPending; private readonly batchWindowMs; private readonly maxPartitionSizeBytes; private readonly rotationWindowMs; private readonly retentionDays; private readonly autoPurgeIntervalMs; private pending; private drainPromise; private drainScheduled; private drainTimer; private readonly counters; private lastBatchDurationMs; private partitionIndex; private partitionStartedAt; private partitionSizeBytes; private stateInitialized; private lastSequence; private lastHash; private lastAutoPurgeAt; constructor(options: ChronicleJournalOptions); get path(): string; stats(): ChronicleJournalStats; append(input: ChronicleEventInput): Promise; readAll(): Promise; flush(): Promise; verify(): Promise; purge(options: ChroniclePurgeOptions): Promise; private maybeAutoPurge; private scheduleDrain; private startDrain; private refreshStateFromDisk; private canReuseDiskState; private checkRotation; private rotate; private persistBatch; } export { GENESIS_HASH }; //# sourceMappingURL=journal.d.ts.map