"""
Tuteliq - AI-powered child safety API

Official Python SDK for detecting bullying, grooming, and unsafe content.

Example:
    >>> from tuteliq import Tuteliq
    >>> client = Tuteliq(api_key="your-api-key")
    >>> result = await client.detect_bullying("Some text to analyze")
    >>> print(result.is_bullying)
"""

from tuteliq.client import Tuteliq
from tuteliq.models import (
    # Enums
    Severity,
    GroomingRisk,
    RiskLevel,
    EmotionTrend,
    Audience,
    MessageRole,
    ConsentType,
    ConsentStatus,
    AuditAction,
    # Input types
    AnalysisContext,
    DetectBullyingInput,
    DetectGroomingInput,
    DetectUnsafeInput,
    AnalyzeInput,
    AnalyzeEmotionsInput,
    GetActionPlanInput,
    GenerateReportInput,
    GroomingMessage,
    EmotionMessage,
    ReportMessage,
    RecordConsentInput,
    RectifyDataInput,
    # Result types
    BullyingResult,
    GroomingResult,
    UnsafeResult,
    AnalyzeResult,
    EmotionsResult,
    ActionPlanResult,
    ReportResult,
    Usage,
    # Account types (GDPR)
    AccountDeletionResult,
    AccountExportResult,
    ConsentRecord,
    ConsentActionResult,
    ConsentStatusResult,
    RectifyDataResult,
    AuditLogEntry,
    AuditLogsResult,
)
from tuteliq.errors import (
    TuteliqError,
    AuthenticationError,
    RateLimitError,
    ValidationError,
    NotFoundError,
    ServerError,
    TimeoutError,
    NetworkError,
)

__version__ = "1.1.0"
__all__ = [
    # Client
    "Tuteliq",
    # Enums
    "Severity",
    "GroomingRisk",
    "RiskLevel",
    "EmotionTrend",
    "Audience",
    "MessageRole",
    "ConsentType",
    "ConsentStatus",
    "AuditAction",
    # Input types
    "AnalysisContext",
    "DetectBullyingInput",
    "DetectGroomingInput",
    "DetectUnsafeInput",
    "AnalyzeInput",
    "AnalyzeEmotionsInput",
    "GetActionPlanInput",
    "GenerateReportInput",
    "GroomingMessage",
    "EmotionMessage",
    "ReportMessage",
    "RecordConsentInput",
    "RectifyDataInput",
    # Result types
    "BullyingResult",
    "GroomingResult",
    "UnsafeResult",
    "AnalyzeResult",
    "EmotionsResult",
    "ActionPlanResult",
    "ReportResult",
    "Usage",
    # Account types (GDPR)
    "AccountDeletionResult",
    "AccountExportResult",
    "ConsentRecord",
    "ConsentActionResult",
    "ConsentStatusResult",
    "RectifyDataResult",
    "AuditLogEntry",
    "AuditLogsResult",
    # Errors
    "TuteliqError",
    "AuthenticationError",
    "RateLimitError",
    "ValidationError",
    "NotFoundError",
    "ServerError",
    "TimeoutError",
    "NetworkError",
]
