"""
Utilities module for EGRC Core.

This module provides utility functions for data validation,
configuration loading, and common operations.
"""

from .utils import (
    convert_to_camel_case,
    convert_to_pascal_case,
    convert_to_snake_case,
    deep_merge_dicts,
    extract_domain_from_email,
    flatten_dict,
    format_bytes,
    format_duration,
    generate_api_key,
    generate_checksum,
    generate_password_hash,
    generate_secure_token,
    generate_slug,
    generate_uuid,
    get_current_timestamp,
    hash_password,
    is_valid_uuid,
    mask_sensitive_data,
    parse_datetime,
    remove_none_values,
    safe_json_dumps,
    safe_json_loads,
    sanitize_string,
    truncate_string,
    unflatten_dict,
    validate_email,
    validate_password_strength,
    verify_password,
    verify_password_hash,
)
from .validation import (
    DEFAULT_REQUIRED_VARS,
    EnvironmentValidationError,
    EnvironmentValidator,
    SecurityValidationError,
    validate_egrc_environment,
    validate_production_settings,
    validate_security_settings,
)


__all__ = [
    # Utility functions
    "generate_uuid",
    "generate_secure_token",
    "generate_api_key",
    "hash_password",
    "verify_password",
    "generate_password_hash",
    "verify_password_hash",
    "generate_checksum",
    "mask_sensitive_data",
    "sanitize_string",
    "validate_email",
    "validate_password_strength",
    "format_bytes",
    "format_duration",
    "deep_merge_dicts",
    "remove_none_values",
    "flatten_dict",
    "unflatten_dict",
    "convert_to_snake_case",
    "convert_to_camel_case",
    "convert_to_pascal_case",
    "truncate_string",
    "extract_domain_from_email",
    "generate_slug",
    "is_valid_uuid",
    "get_current_timestamp",
    "parse_datetime",
    "safe_json_loads",
    "safe_json_dumps",
    # Validation functions
    "EnvironmentValidator",
    "EnvironmentValidationError",
    "SecurityValidationError",
    "validate_security_settings",
    "validate_production_settings",
    "validate_egrc_environment",
    "DEFAULT_REQUIRED_VARS",
]
