#![doc = include_str!("../CRATE.md")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![warn(
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::dbg_macro,
clippy::print_stdout,
clippy::print_stderr
)]
pub mod answer;
pub mod bench;
#[cfg(feature = "blocking")]
#[cfg_attr(docsrs, doc(cfg(feature = "blocking")))]
pub mod blocking;
pub mod cascade;
pub mod each;
pub mod error;
pub mod filter;
pub mod flow;
#[cfg(feature = "images")]
#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
pub mod image;
#[cfg(feature = "images")]
#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
pub mod locate;
pub mod operator;
pub mod provider;
#[cfg(feature = "typesafe")]
#[cfg_attr(docsrs, doc(cfg(feature = "typesafe")))]
pub mod providers;
pub mod question;
pub mod rerank;
pub mod state;
pub mod wire;
pub use answer::{
Answer, AnswerType, AnswerValue, Call, Probabilities, complement, make_answer, token_count,
};
pub use cascade::Cascade;
#[cfg(feature = "tokio")]
#[cfg_attr(docsrs, doc(cfg(feature = "tokio")))]
pub use cascade::TimeLimited;
pub use error::{Error, ErrorKind};
pub use indexmap::IndexMap;
pub use operator::{NamedQuestion, Operator, apply};
pub use provider::{Answers, FunctionProvider, Provider, ProviderFuture, Questions, Request, ask};
pub use question::{Boolean, BoxQuestion, Choice, Question, Region, Score, TypedQuestion};
pub use state::State;
pub type Result<T, E = Error> = std::result::Result<T, E>;