1pub mod cdc;
2pub mod codec;
3pub mod error;
4pub mod file_reader;
5#[cfg(feature = "file-transform")]
6pub mod file_transform;
7pub mod hash;
8pub mod object;
9#[cfg(feature = "file-transform")]
10pub mod pipeline;
11pub mod recipe;
12#[cfg(feature = "sealed")]
13pub mod sealed;
14#[cfg(any(feature = "sqlite-pack", feature = "rusqlite-store", feature = "sqlx-store"))]
15pub mod sqlite;
16pub mod transform;
17
18pub use cdc::{DEFAULT_AVG, DEFAULT_MAX, DEFAULT_MIN, FastCdcSplitter};
19pub use codec::{Codec, EntropyEstimator, compress, compress_auto, decide_codec, decompress};
20pub use error::{Error, Result};
21pub use file_reader::{AsyncFileReader, FileReadLimits, FileReader};
22#[cfg(feature = "file-transform")]
23pub use file_transform::{
24 FileHint, FileTransformConfig, FileTransformEvalConfig, FileTransformPrecomp2Config, FileTransformPrecomp2LzmaConfig,
25 FileTransformPrecomp2ZstdConfig, StoredStreamSpool, TransformInfo, TransformSelection, TransformSelector, TransformSpec,
26 enabled_transforms, selectable_transforms, transform_info,
27};
28pub use hash::{HASH_LEN, Hash32};
29pub use object::{AsyncObjectSource, ObjectKind, ObjectRecord, ObjectSource, VerifiedObject};
30#[cfg(feature = "file-transform")]
31pub use pipeline::{ChunkCompressionPolicy, ChunkPlan, DefaultChunkCompressor, Pipeline, PipelineConfig, PipelinePlan};
32pub use recipe::{RECIPE_VERSION_V1, RECIPE_VERSION_V2, RECIPE_VERSION_V3, RecipeData, build_recipe, parse_recipe, parse_recipe_checked};
33#[cfg(feature = "sealed")]
34pub use sealed::{
35 DEFAULT_FORMAT_TAG, MAX_ENCRYPTED_FRAME_BYTES, PackOpenPolicy, ParsedSealedPack, SealedPackBuilder, SealedPackReader, SealedPackTag,
36};
37#[cfg(feature = "sealed-encryption")]
38pub use sealed::{FrameSealer, FrameUnsealer, SealedRecordContext, SoftwareFrameKey};
39#[cfg(feature = "rusqlite-store")]
40pub use sqlite::RusqliteStore;
41#[cfg(feature = "sqlx-store")]
42pub use sqlite::SqlxStore;
43#[cfg(any(feature = "sqlite-pack", feature = "rusqlite-store", feature = "sqlx-store"))]
44pub use sqlite::{MerkleMode, MerkleProof, MerkleSummary, SqliteStoreOptions};
45#[cfg(feature = "sqlite-pack")]
46pub use sqlite::{SqlitePack, SqlitePackJournalMode};
47pub use transform::{
48 TRANSFORM_ID_NONE, TRANSFORM_ID_PRECOMP2, TRANSFORM_ID_PRECOMP2_LZMA, TRANSFORM_ID_PRECOMP2_ZSTD, TRANSFORM_VERSION_NONE,
49 TRANSFORM_VERSION_PRECOMP2, TRANSFORM_VERSION_PRECOMP2_LZMA, TRANSFORM_VERSION_PRECOMP2_ZSTD, TransformDecoder, TransformDecoderRegistry,
50};