"""
Unified Profile System for CloudZero Billing Generator

Provides all profiles needed for realistic cloud billing data generation:
- 9 Metadata Profiles: For cloud resource metadata (teams, products, environments, etc.)
- 5 Variance Profiles: Simplified high-value patterns for maximum demo distinctiveness
- 5 Anomaly Profiles: Simplified high-value patterns including permanent cost increases

All profiles use standard interfaces and are designed for pipeline configuration.
Simplified for KISS principle adherence while maintaining all demo capabilities.
"""

# Main unified system
# Core profile classes
from .core_profiles import AnomalyProfile, VarianceProfile
from .metadata.profiles import (
    get_account_distribution_strategy,
    get_cloud_account_patterns,
    get_profile_info,
    get_profile_weights,
    get_tag_variants,
)

# Legacy metadata access (for backward compatibility)
from .metadata.profiles import get_profile as get_metadata_profile_data
from .metadata.profiles import list_profiles as list_metadata_profile_names
from .unified_profiles import (
    MetadataProfile,
    UnifiedProfileSystem,
    get_anomaly_profile,
    get_metadata_profile,
    get_variance_profile,
    list_anomaly_profiles,
    list_metadata_profiles,
    list_variance_profiles,
    registry,
    validate_profile_exists,
)

__all__ = [
    # Main unified system
    "UnifiedProfileSystem",
    "registry",
    # Profile accessors by type
    "get_metadata_profile",
    "get_variance_profile",
    "get_anomaly_profile",
    "list_metadata_profiles",
    "list_variance_profiles",
    "list_anomaly_profiles",
    "validate_profile_exists",
    # Profile classes
    "MetadataProfile",
    "VarianceProfile",
    "AnomalyProfile",
    # Legacy metadata compatibility
    "get_metadata_profile_data",
    "list_metadata_profile_names",
    "get_profile_info",
    "get_profile_weights",
    "get_tag_variants",
    "get_cloud_account_patterns",
    "get_account_distribution_strategy",
]
