import type { DatabaseSync } from 'node:sqlite'; import { type ConsumeVerificationExecutionLeaseResult, type IssueVerificationExecutionLeaseResult, type VerificationExecutionBinding, type VerificationExecutionLeaseCredential, type VerificationExecutionLeaseStatus, type VerificationLeaseIssuancePrecondition } from './verification-execution-lease.js'; import { type VerificationRunContract } from './verification-run-contract.js'; import { type RecordWorkspaceSnapshotResult, type WorkspaceSnapshotFenceDescriptor } from './workspace-snapshot-fence.js'; interface SqliteVerificationLedgerOptions { readonly now: () => string; readonly verificationLeaseSecret?: (() => string) | undefined; } export declare class SqliteVerificationLedger { #private; constructor(db: DatabaseSync, options: SqliteVerificationLedgerOptions); initializeSchema(): void; recordWorkspaceSnapshot(projectId: string, manifestHash: string): RecordWorkspaceSnapshotResult; readLatestWorkspaceSnapshot(projectId: string): WorkspaceSnapshotFenceDescriptor | null; issue(run: VerificationRunContract): IssueVerificationExecutionLeaseResult; issueIfCurrent(run: VerificationRunContract, precondition: VerificationLeaseIssuancePrecondition): IssueVerificationExecutionLeaseResult; consume(credential: VerificationExecutionLeaseCredential, binding: VerificationExecutionBinding): ConsumeVerificationExecutionLeaseResult; readStatus(leaseId: string): VerificationExecutionLeaseStatus; private verificationLedgerSchemaHost; private verificationLedgerPreconditionsHost; } export {}; //# sourceMappingURL=verification-ledger-store.d.ts.map