1#![deny(unsafe_code)]
25#![deny(unused_must_use)]
26
27mod applied;
28mod artifact;
29mod export_lease;
30mod kv;
31mod nats;
32pub mod snapshot;
33#[cfg(feature = "fjall")]
34mod snapshot_fjall;
35#[cfg(any(feature = "fjall", feature = "rocksdb"))]
36mod snapshot_record;
37#[cfg(feature = "rocksdb")]
38mod snapshot_rocksdb;
39mod stores;
40#[cfg(feature = "transport")]
41mod transport;
42
43pub use applied::{BatchConfig, ExportRequest, WatchScope, watch_applied};
44pub use artifact::{ARTIFACT_SCHEMA_VERSION, ArtifactFile, ExportManifest, MANIFEST_FILE};
45pub use export_lease::{ExportLease, LeaseGuard, LeaseRecord};
46pub use kv::{
47 KvEntry, KvError, KvReader, KvTtl, KvUpdate, KvWatcher, KvWriter, VersionToken, WatchCursor,
48};
49pub use nats::{NatsConnection, NatsConnectionConfig, nats_connect};
50pub use snapshot::{AppendLogSnapshot, SnapshotStore};
51#[cfg(feature = "fjall")]
52pub use snapshot_fjall::{FjallConfig, FjallReader, FjallSnapshot};
53#[cfg(feature = "rocksdb")]
54pub use snapshot_rocksdb::{RocksDbConfig, RocksDbReader, RocksDbSnapshot};
55pub use stores::{Connection, ConnectionCapabilities, KvStore, StorageType, StoreConfig};
56#[cfg(feature = "transport")]
57pub use transport::{ArtifactTransport, ObjectStoreTransport, run_export_round};