pub use rust_expect_macros::{dialog, patterns, regex, timeout};
pub mod config;
pub mod encoding;
pub mod error;
pub mod prelude;
pub mod types;
pub mod validation;
pub mod backend;
pub mod expect;
pub mod send;
pub mod session;
pub mod sync;
pub mod util;
pub mod auto_config;
pub mod dialog;
pub mod health;
pub mod interact;
pub mod metrics;
pub mod multi;
pub mod transcript;
#[cfg(feature = "mock")]
pub mod mock;
#[cfg(feature = "screen")]
pub mod screen;
#[cfg(feature = "pii-redaction")]
pub mod pii;
pub use auto_config::{LocaleInfo, ShellType, detect_shell};
pub use backend::{BackendType, PtyConfig, PtySpawner};
pub use config::{
BufferConfig, EncodingConfig, HumanTypingConfig, InteractConfig, LineEnding, LogFormat,
LoggingConfig, SessionConfig, TimeoutConfig,
};
pub use dialog::{Dialog, DialogBuilder, DialogStep};
pub use encoding::{
DetectedEncoding, EncodedText, LineEndingStyle, decode_utf8_lossy, detect_encoding_from_env,
detect_line_ending, normalize_line_endings, strip_ansi,
};
pub use error::{ExpectError, Result, SpawnError};
pub use expect::{
CacheStats, CompiledRegex, GLOBAL_CACHE, Matcher, Pattern, PatternManager, PatternSet,
RegexCache, RingBuffer, get_regex,
};
pub use health::{HealthChecker, HealthStatus};
pub use interact::{
InteractAction, InteractBuilder, InteractContext, InteractEndReason, InteractResult,
InteractionMode, ResizeContext, ResizeHook, TerminalMode, TerminalState,
};
pub use metrics::{Counter, Gauge, Histogram, MetricsRegistry, SessionMetrics};
#[cfg(feature = "mock")]
pub use mock::{MockBuilder, MockSession, MockTransport, Scenario};
pub use multi::{
GroupBuilder, GroupManager, GroupResult, MultiSessionManager, PatternSelector, ReadyType,
SelectResult, SendResult, SessionGroup,
};
#[cfg(feature = "pii-redaction")]
pub use pii::{PiiDetector, PiiRedactor, PiiType};
#[cfg(feature = "screen")]
pub use screen::{Attributes, Cell, ScreenBuffer};
pub use send::{AnsiSend, BasicSend, HumanTyper, Sender};
pub use session::{QuickSession, Session, SessionBuilder};
pub use sync::{SyncSession, block_on};
pub use transcript::{Player, Recorder, Transcript, TranscriptEvent};
pub use types::{
ControlChar, Dimensions, ExpectResult, Match, ProcessExitStatus, SessionId, SessionState,
};
pub use util::{Backpressure, Deadline, TimeoutExt};
#[cfg(any(test, feature = "test-utils"))]
pub mod test_utils;
#[cfg(any(test, feature = "test-utils"))]
pub use test_utils::{
ExpectTestBuilder, FakePty, FakePtyPair, Fixtures, OutputAssertions, RecordedInteraction,
SessionTestBuilder, TestFixture, TestSession, TestSessionBuilder, assert_output_contains,
assert_output_matches,
};