1#![doc = include_str!("../README.md")]
17#![warn(missing_debug_implementations, missing_docs)]
18#![cfg_attr(target_family = "wasm", allow(clippy::arc_with_non_send_sync))]
19#![cfg_attr(docsrs, feature(doc_auto_cfg))]
20
21pub use async_trait::async_trait;
22pub use bytes;
23#[cfg(feature = "e2e-encryption")]
24pub use matrix_sdk_base::crypto;
25pub use matrix_sdk_base::{
26 deserialized_responses,
27 store::{self, DynStateStore, MemoryStore, StateStoreExt},
28 ComposerDraft, ComposerDraftType, EncryptionState, PredecessorRoom, QueueWedgeError,
29 Room as BaseRoom, RoomCreateWithCreatorEventContent, RoomDisplayName, RoomHero, RoomInfo,
30 RoomMember as BaseRoomMember, RoomMemberships, RoomState, SessionMeta, StateChanges,
31 StateStore, StoreError, SuccessorRoom, ThreadingSupport,
32};
33pub use matrix_sdk_common::*;
34pub use reqwest;
35
36mod account;
37pub mod attachment;
38pub mod authentication;
39mod client;
40pub mod config;
41mod deduplicating_handler;
42#[cfg(feature = "e2e-encryption")]
43pub mod encryption;
44mod error;
45pub mod event_cache;
46pub mod event_handler;
47mod http_client;
48pub mod latest_events;
49pub mod media;
50pub mod notification_settings;
51pub mod paginators;
52pub mod pusher;
53pub mod room;
54pub mod room_directory_search;
55pub mod room_preview;
56pub mod send_queue;
57pub mod utils;
58pub mod futures {
59 pub use super::client::futures::SendRequest;
62}
63pub mod sliding_sync;
64pub mod sync;
65#[cfg(feature = "experimental-widgets")]
66pub mod widget;
67
68pub use account::Account;
69pub use authentication::{AuthApi, AuthSession, SessionTokens};
70pub use client::{
71 sanitize_server_name, Client, ClientBuildError, ClientBuilder, LoopCtrl, SessionChange,
72};
73pub use error::{
74 Error, HttpError, HttpResult, NotificationSettingsError, RefreshTokenError, Result,
75 RumaApiError,
76};
77pub use http_client::TransmissionProgress;
78#[cfg(all(feature = "e2e-encryption", feature = "sqlite"))]
79pub use matrix_sdk_sqlite::SqliteCryptoStore;
80#[cfg(feature = "sqlite")]
81pub use matrix_sdk_sqlite::{
82 SqliteEventCacheStore, SqliteStateStore, SqliteStoreConfig, STATE_STORE_DATABASE_NAME,
83};
84pub use media::Media;
85pub use pusher::Pusher;
86pub use room::Room;
87pub use ruma::{IdParseError, OwnedServerName, ServerName};
88pub use sliding_sync::{
89 SlidingSync, SlidingSyncBuilder, SlidingSyncList, SlidingSyncListBuilder,
90 SlidingSyncListLoadingState, SlidingSyncMode, UpdateSummary,
91};
92
93#[cfg(feature = "uniffi")]
94uniffi::setup_scaffolding!();
95
96pub mod live_location_share;
97#[cfg(any(test, feature = "testing"))]
98pub mod test_utils;
99
100#[cfg(test)]
101matrix_sdk_test::init_tracing_for_tests!();