//! The prelude contains all common imports when using the `dittolive` crate.

pub use crate::{
    auth::DittoAuthenticationEventHandler,
    disk_usage::DiskUsage,
    ditto::{builder::DittoBuilder, AppId, Ditto, LogLevel, SiteId},
    error::DittoError,
    ffi_sdk::{BoxedDitto, BoxedDocument, CLogLevel, COrderByParam, QuerySortDirection},
    fs::{DittoRoot, PersistentRoot, TempRoot},
    identity::{
        self, Identity, Manual, OfflinePlayground, OnlinePlayground, OnlineWithAuthentication,
        SharedKey,
    },
    observer::Observer,
    store::{
        collection::{
            document::{DittoDocument, DittoMutDocument},
            document_id::DocumentId,
            pending_cursor_operation::PendingCursorOperation,
            pending_id_specific_operation::PendingIdSpecificOperation,
            Collection,
        },
        collections::{
            event::CollectionsEvent,
            pending_collections_operation::{CollectionsEventHandler, PendingCollectionsOperation},
        },
        ditto_attachment::DittoAttachment,
        ditto_attachment_fetch_event::DittoAttachmentFetchEvent,
        ditto_attachment_fetcher::DittoAttachmentFetcher,
        ditto_attachment_token::DittoAttachmentToken,
        live_query::{
            EventHandler, LiveQuery, LiveQueryEvent, LiveQueryMove, SingleDocumentEventHandler,
            SingleDocumentLiveQueryEvent,
        },
        timeseries::TimeSeries,
        Store, WriteStrategy,
    },
    subscription::Subscription,
    transport::{
        presence::Presence,
        presence_observer::{PeersObserver, PresenceObserver},
        HttpListenConfig, TcpListenConfig, TransportConfig,
    },
    types::{DittoCounter, DittoRegister},
};
