// Copyright (c) 2026, Salesforce, Inc.,
// All rights reserved.
// For full license text, see the LICENSE.txt file

use std::fmt::Debug;

use async_trait::async_trait;

use crate::{container::Container, TestError};

mod message;

pub use message::{MessageProbe, MessageSource};

/// Trait to manage the probe.
#[async_trait(?Send)]
pub trait Probe: Debug {
    async fn probe(&self, container: &Container) -> Result<(), TestError>;
}
