mod auth;
mod calls;
mod codec;
mod compression;
mod frame;
mod media;
mod message;
mod packet;
mod proxy;
mod session;
mod transport;

pub use auth::auth_fingerprint;
pub use calls::{decode_vcp, CallParams, CallSignaling};
pub use codec::{decode_packet, encode_packet, encode_request, CodecError};
pub use compression::{decompress_payload, CompressionError, MAX_DECOMPRESSED_SIZE};
pub use frame::{
    decode, encode, Frame, FrameDecoder, FrameError, HEADER_SIZE, MAX_BUFFER_SIZE, MAX_PAYLOAD_SIZE,
};
pub use media::{
    upload_file, upload_file_path, upload_photo, upload_photo_path, upload_video_path,
    UploadResponse,
};
pub use message::{decode_tagged_json, encode_tagged_json, MessageError};
pub use packet::{command, Packet, PROTOCOL_VERSION};
pub use proxy::{connect as connect_proxy, ProxyConfig, ProxyError, ProxyKind};
pub use session::{HandshakeInfo, Session, SessionOptions, SessionState};
pub use transport::{
    set_trust_mincifry_ca, trust_mincifry_ca, Client, ClientConfig, Direction, TransportError,
    WireEvent,
};
