"""
Shared Contracts

Cross-module contracts for APIs, events, schemas, and permissions.
"""

from .apis.response import ApiResponse, PaginatedApiResponse, ErrorResponse, ErrorCodes
from .events.base import BaseDomainEvent, TenantDomainEvent, UserDomainEvent
from .schemas.base import Schema, SchemaField, SchemaType
from .permissions.base import Permission, PermissionAction, Role, PermissionContext

__all__ = [
    # API Contracts
    "ApiResponse",
    "PaginatedApiResponse",
    "ErrorResponse",
    "ErrorCodes",
    
    # Event Contracts
    "BaseDomainEvent",
    "TenantDomainEvent",
    "UserDomainEvent",
    
    # Schema Contracts
    "Schema",
    "SchemaField",
    "SchemaType",
    
    # Permission Contracts
    "Permission",
    "PermissionAction",
    "Role",
    "PermissionContext",
]
