pub(crate) mod capture;
mod entry {
pub use harmos_domain::state::{
At, CausationId, CorrelationId, Entry, Link, Metadata, Position, PrincipalId, Receipt, RequestKey, Timestamp,
};
}
mod envelope;
mod history;
mod managed;
mod manager;
mod record;
pub(crate) mod recovery;
pub(crate) mod snapshot;
mod snapshot_codec;
mod transaction;
mod writer;
pub use crate::error::Error;
pub use capture::{CaptureError, CaptureLimits, JournalCapture};
pub use entry::{At, CausationId, CorrelationId, Entry, Link, Metadata, Position, PrincipalId, Receipt, RequestKey, Timestamp};
pub use envelope::{DefinitionId, Envelope, FactSource, Kind, Recorded, SystemFact};
pub use harmos_domain::state::{RecordDefinitions, TransactionDefinitions};
pub use history::{Focus, Origin, Reversals};
pub use managed::ManagedState;
pub use manager::StateManager;
pub(crate) use manager::{Context, Feed, TrackedState};
pub use record::{CatalogCodec, PreparationError, Prepared, Record, RecordCatalog, RecordProjection, Records};
pub use snapshot::SnapshotPolicy;
pub use transaction::{DecodeError, Invert, Never, Transaction, TransactionCatalog, Undoable};
pub use transaction::{Catalogued, Mutual};
pub(crate) use history::{ReadRequest, Reads, ReplayPayload, Tail, Undoable as UndoEntry, Undos, replay};
pub(crate) use transaction::{Inverting, dispatch};