mod encode;
mod model;
pub(crate) mod mouse;
mod parse;

#[allow(unused_imports)]
pub use encode::{
    encode_cursor_key, encode_key, encode_mouse_button, encode_mouse_scroll, encode_terminal_key,
};
#[cfg(not(windows))]
pub use model::ime_compatible_keyboard_enhancement_flags;
#[cfg(any(unix, test))]
pub use model::MouseProtocolMode;
pub use model::{
    host_modify_other_keys_mode, KeyIdentity, KeyboardProtocol, MouseProtocolEncoding, TerminalKey,
    TextCommit, WindowsKeyRecord,
};
pub use parse::parse_terminal_key_sequence;
