//! TLD preset groups for domain checking

pub mod methods;

/// TLD preset groups
///
/// Provides curated lists of TLDs for different use cases.
///
/// # Examples
///
/// ```
/// use lazydomain::types::TldPreset;
///
/// let preset = TldPreset::Popular;
/// let tlds = preset.get_tlds();
/// assert!(tlds.contains(&"com".to_string()));
/// ```
#[derive(Debug, Clone, PartialEq, Eq)]
#[allow(dead_code)]
pub enum TldPreset {
    /// All available TLDs
    All,
    /// Startup-focused TLDs (.io, .co, .app, .dev, .tech, .ai)
    Startup,
    /// Enterprise TLDs (.com, .net, .org, .biz, .pro)
    Enterprise,
    /// Technology TLDs (.dev, .app, .cloud, .digital, .tech, .codes)
    Tech,
    /// Most popular TLDs (.com, .net, .org, .io, .co, .ai, .xyz)
    Popular,
    /// Custom TLD list
    Custom(Vec<String>),
}
