//! Prelude module for common typedialog use cases
//!
//! This module re-exports the most commonly used types for form execution.
//! Import with `use typedialog_core::prelude::*;` for quick access to core functionality.
//!
//! # Examples
//!
//! ```no_run
//! use typedialog_core::prelude::*;
//! use typedialog_core::form_parser;
//!
//! async fn example() -> Result<()> {
//!     let mut backend = BackendFactory::create(BackendType::Cli)?;
//!     let form = form_parser::parse_toml(r#"name = "Example Form""#)?;
//!     Ok(())
//! }
//! ```

#[cfg(any(feature = "cli", feature = "tui", feature = "web"))]
pub use crate::backends::{BackendFactory, BackendType, FormBackend};

pub use crate::error::{Error, ErrorWrapper, Result};

#[cfg(any(feature = "cli", feature = "tui", feature = "web"))]
pub use crate::form_parser::{FieldDefinition, FieldType, FormDefinition};

pub use crate::helpers::{format_results, to_json_string, to_json_value};

#[cfg(feature = "i18n")]
pub use crate::config::TypeDialogConfig;

#[cfg(feature = "i18n")]
pub use crate::i18n::{I18nBundle, LocaleResolver};

#[cfg(feature = "templates")]
pub use crate::templates::TemplateEngine;
