//! Add `use dittolive_ditto::prelude::*;` to import frequently-used Ditto functionality.
//!
//! The prelude contains all common imports when using this crate.

pub use serde_cbor::Value as CborValue;

#[allow(deprecated)]
pub use crate::small_peer_info::DittoSmallPeerInfoSyncScope;
#[doc(hidden)]
#[allow(deprecated)]
#[cfg(feature = "timeseries")]
pub use crate::store::timeseries::TimeSeries;
#[allow(deprecated)]
pub use crate::{
    disk_usage::DiskUsage,
    ditto::init::{DittoAuthExpirationHandler, DittoConfig, DittoConfigConnect},
    error::DittoError,
    ffi_sdk::{BoxedDitto, BoxedDocument, CLogLevel, StringPrimitiveFormat},
    fs::{DittoRoot, PersistentRoot, TempRoot},
    identity::{
        self, DittoAuthenticationEventHandler, DittoAuthenticator, Identity, Manual,
        OfflinePlayground, OnlinePlayground, OnlineWithAuthentication, SharedKey,
    },
    logger::DittoLogger,
    presence::{
        ConnectionRequest, ConnectionRequestAuthorization, Presence, PresenceGraph,
        PresenceObserver,
    },
    store::{
        attachment::{
            DittoAttachment, DittoAttachmentFetchEvent, DittoAttachmentFetcher,
            DittoAttachmentToken,
        },
        dql::query_v2::IntoQuery,
        transactions::{
            CreateTransactionOptions, Transaction, TransactionCompletionAction, TransactionInfo,
        },
        Store, WriteStrategy,
    },
    transport::{HttpListenConfig, TcpListenConfig, TransportConfig},
    utils::extension_traits::CborValueGetters,
    AppId, Ditto, LogLevel,
};
// NOTE(nimo): Doctest to ensure items are hidden/deprecated but available
// TODO(v5): remove
/// ```rust,no_run
/// use dittolive_ditto::prelude::{DittoBuilder, Observer, PeersObserver, SiteId};
/// ```
#[doc(hidden)]
#[allow(deprecated)]
pub use crate::{
    ditto::SiteId,
    observer::Observer,
    presence::observer_legacy::PeersObserver,
    store::query_builder::{
        COrderByParam, Collection, CollectionsEvent, CollectionsEventHandler, DittoCounter,
        DittoDocument, DittoMutDocument, DittoMutableCounter, DittoMutableRegister, DittoRegister,
        DocumentId, EventHandler, LiveQuery, LiveQueryEvent, LiveQueryMove,
        PendingCollectionsOperation, PendingCursorOperation, PendingIdSpecificOperation,
        QuerySortDirection, SingleDocumentEventHandler, SingleDocumentLiveQueryEvent, Subscription,
    },
    DittoBuilder,
};
