#![allow(deprecated)]
pub mod backends;
pub mod events;
pub mod gateway;
pub mod handle;
pub mod heartbeat;
pub mod message;
pub mod observers;
pub mod options;
pub use backends::*;
pub use gateway::*;
pub use handle::*;
use heartbeat::*;
pub use message::*;
pub use observers::*;
pub use options::*;
use crate::errors::GatewayError;
use crate::types::Snowflake;
use std::any::Any;
use std::collections::HashMap;
use std::sync::{Arc, RwLock};
use tokio::sync::Mutex;
pub type ObservableObject = dyn Send + Sync + Any;
pub use pubserve::Subscriber as Observer;
pub trait Updateable: 'static + Send + Sync {
fn id(&self) -> Snowflake;
}