"""Pydantic schemas for request/response validation"""

from .billable_time import BillableTimeBase, BillableTimeCreate, BillableTimeResponse, BillableTimeUpdate
from .client import ClientBase, ClientCreate, ClientResponse, ClientUpdate
from .credential import CredentialBase, CredentialCreate, CredentialResponse, CredentialUpdate
from .credential_audit_log import (
    CredentialAuditLogBase,
    CredentialAuditLogCreate,
    CredentialAuditLogResponse,
    CredentialAuditLogUpdate,
)
from .firewall_rule import FirewallRuleBase, FirewallRuleCreate, FirewallRuleResponse, FirewallRuleUpdate
from .infrastructure import InfrastructureBase, InfrastructureCreate, InfrastructureResponse, InfrastructureUpdate
from .m365_tenant import M365TenantBase, M365TenantCreate, M365TenantResponse, M365TenantUpdate
from .machine import MachineBase, MachineCreate, MachineResponse, MachineUpdate
from .network import NetworkBase, NetworkCreate, NetworkResponse, NetworkUpdate
from .project import ProjectBase, ProjectCreate, ProjectResponse, ProjectUpdate
from .quote import (
    QuoteCreate,
    QuoteCreatedResponse,
    QuoteItemCreate,
    QuoteItemResponse,
    QuoteItemUpdate,
    QuoteListResponse,
    QuoteResponse,
    QuoteAdminResponse,
    QuoteAdminUpdate,
    QuoteStatsResponse,
    QuoteSubmit,
    QuoteUpdate,
)
from .security_incident import SecurityIncidentBase, SecurityIncidentCreate, SecurityIncidentResponse, SecurityIncidentUpdate
from .service import ServiceBase, ServiceCreate, ServiceResponse, ServiceUpdate
from .session import SessionBase, SessionCreate, SessionResponse, SessionUpdate
from .site import SiteBase, SiteCreate, SiteResponse, SiteUpdate
from .tag import TagBase, TagCreate, TagResponse, TagUpdate
from .task import TaskBase, TaskCreate, TaskResponse, TaskUpdate
from .work_item import WorkItemBase, WorkItemCreate, WorkItemResponse, WorkItemUpdate

__all__ = [
    # Machine schemas
    "MachineBase",
    "MachineCreate",
    "MachineUpdate",
    "MachineResponse",
    # Client schemas
    "ClientBase",
    "ClientCreate",
    "ClientUpdate",
    "ClientResponse",
    # Project schemas
    "ProjectBase",
    "ProjectCreate",
    "ProjectUpdate",
    "ProjectResponse",
    # Session schemas
    "SessionBase",
    "SessionCreate",
    "SessionUpdate",
    "SessionResponse",
    # Tag schemas
    "TagBase",
    "TagCreate",
    "TagUpdate",
    "TagResponse",
    # WorkItem schemas
    "WorkItemBase",
    "WorkItemCreate",
    "WorkItemUpdate",
    "WorkItemResponse",
    # Task schemas
    "TaskBase",
    "TaskCreate",
    "TaskUpdate",
    "TaskResponse",
    # BillableTime schemas
    "BillableTimeBase",
    "BillableTimeCreate",
    "BillableTimeUpdate",
    "BillableTimeResponse",
    # Site schemas
    "SiteBase",
    "SiteCreate",
    "SiteUpdate",
    "SiteResponse",
    # Infrastructure schemas
    "InfrastructureBase",
    "InfrastructureCreate",
    "InfrastructureUpdate",
    "InfrastructureResponse",
    # Service schemas
    "ServiceBase",
    "ServiceCreate",
    "ServiceUpdate",
    "ServiceResponse",
    # Network schemas
    "NetworkBase",
    "NetworkCreate",
    "NetworkUpdate",
    "NetworkResponse",
    # FirewallRule schemas
    "FirewallRuleBase",
    "FirewallRuleCreate",
    "FirewallRuleUpdate",
    "FirewallRuleResponse",
    # M365Tenant schemas
    "M365TenantBase",
    "M365TenantCreate",
    "M365TenantUpdate",
    "M365TenantResponse",
    # Credential schemas
    "CredentialBase",
    "CredentialCreate",
    "CredentialUpdate",
    "CredentialResponse",
    # CredentialAuditLog schemas
    "CredentialAuditLogBase",
    "CredentialAuditLogCreate",
    "CredentialAuditLogUpdate",
    "CredentialAuditLogResponse",
    # SecurityIncident schemas
    "SecurityIncidentBase",
    "SecurityIncidentCreate",
    "SecurityIncidentUpdate",
    "SecurityIncidentResponse",
    # Quote schemas
    "QuoteCreate",
    "QuoteCreatedResponse",
    "QuoteItemCreate",
    "QuoteItemResponse",
    "QuoteItemUpdate",
    "QuoteListResponse",
    "QuoteResponse",
    "QuoteAdminResponse",
    "QuoteAdminUpdate",
    "QuoteStatsResponse",
    "QuoteSubmit",
    "QuoteUpdate",
]
