export {
  KeyManager,
  type KeySource,
  type KeychainBackend,
  type KeyManagerOptions,
} from './crypto/key-manager.js';
export {
  DEFAULT_SCRYPT,
  type ScryptParams,
  deriveMasterKey,
  deriveStorageKey,
  deriveFieldKey,
  deriveNonce,
  buildAad,
  hkdfDerive,
} from './crypto/kdf.js';
export {
  AEAD_NONCE_LEN,
  AEAD_TAG_LEN,
  aeadSeal,
  aeadOpen,
} from './crypto/aead.js';
export { EncryptedSQLiteStorage } from './storage/encrypted-sqlite.js';
export {
  EncryptedPostgresStorage,
  ensureEncryptedClientTables,
} from './storage/encrypted-postgres.js';
export {
  migrateSqliteToEncrypted,
  rotateSqliteEncryptionKey,
  type MigrateOptions,
  type RotateOptions,
  type MigrateReport,
} from './migrate/migrate-sqlite.js';
