use crate::config::{
AddressFamilyConfig, AddressMode, AsMode, DnsResolveMethodConfig, GeoIpMode, IcmpExtensionMode,
LogFormat, LogSpanEvents, Mode,
};
use std::time::Duration;
pub const DEFAULT_MODE: Mode = Mode::Tui;
pub const DEFAULT_DNS_RESOLVE_ALL: bool = false;
pub const DEFAULT_LOG_FORMAT: LogFormat = LogFormat::Pretty;
pub const DEFAULT_LOG_SPAN_EVENTS: LogSpanEvents = LogSpanEvents::Off;
pub const DEFAULT_LOG_FILTER: &str = "trippy=debug";
pub const DEFAULT_TUI_PRESERVE_SCREEN: bool = false;
pub const DEFAULT_TUI_AS_MODE: AsMode = AsMode::Asn;
pub const DEFAULT_CUSTOM_COLUMNS: &str = "holsravbwdt";
pub const DEFAULT_TUI_ICMP_EXTENSION_MODE: IcmpExtensionMode = IcmpExtensionMode::Off;
pub const DEFAULT_TUI_GEOIP_MODE: GeoIpMode = GeoIpMode::Off;
pub const DEFAULT_TUI_MAX_ADDRS: u8 = 0;
pub const DEFAULT_TUI_ADDRESS_MODE: AddressMode = AddressMode::Host;
pub const DEFAULT_TUI_REFRESH_RATE: Duration = Duration::from_millis(100);
pub const DEFAULT_DNS_RESOLVE_METHOD: DnsResolveMethodConfig = DnsResolveMethodConfig::System;
pub const DEFAULT_ADDR_FAMILY: AddressFamilyConfig = AddressFamilyConfig::Ipv4ThenIpv6;
pub const DEFAULT_DNS_LOOKUP_AS_INFO: bool = false;
pub const DEFAULT_DNS_TIMEOUT: Duration = Duration::from_millis(5000);
pub const DEFAULT_DNS_TTL: Duration = Duration::from_secs(300);
pub const DEFAULT_REPORT_CYCLES: usize = 10;
pub const TUI_MIN_REFRESH_RATE_MS: Duration = Duration::from_millis(50);
pub const TUI_MAX_REFRESH_RATE_MS: Duration = Duration::from_millis(1000);
pub const MIN_READ_TIMEOUT_MS: Duration = Duration::from_millis(10);
pub const MAX_READ_TIMEOUT_MS: Duration = Duration::from_millis(100);
pub const MIN_GRACE_DURATION_MS: Duration = Duration::from_millis(10);
pub const MAX_GRACE_DURATION_MS: Duration = Duration::from_millis(1000);
pub const MIN_PACKET_SIZE_IPV4: u16 = 28;
pub const MIN_PACKET_SIZE_IPV6: u16 = 48;
pub const MAX_PACKET_SIZE: u16 = 1024;