# IMPORT CONSTRAINT: types/ modules must only import from typing, stdlib, and each other.
# NEVER import from core.py, db_base.py, or any mixin — this prevents circular imports.
"""Typed return-value contracts for filigree core and API layers."""

from __future__ import annotations

from filigree.types.api import (
    AddCommentResult,
    ArchiveClosedResponse,
    BatchActionResponse,
    BatchCloseResponse,
    BatchUpdateResponse,
    BlockedIssue,
    ClaimNextEmptyResponse,
    ClaimNextResponse,
    CompactEventsResponse,
    CriticalPathResponse,
    DepDetail,
    DependencyActionResponse,
    EnrichedIssueDetail,
    ErrorResponse,
    IssueDetailEvent,
    IssueListResponse,
    IssueWithChangedFields,
    IssueWithTransitions,
    IssueWithUnblocked,
    JsonlTransferResponse,
    LabelActionResponse,
    OutboundTransitionInfo,
    PackListItem,
    PlanResponse,
    SearchResponse,
    SlimIssue,
    StateExplanation,
    StatsWithPrefix,
    TransitionDetail,
    TransitionError,
    TransitionHint,
    ValidationResult,
    WorkflowGuideResponse,
    WorkflowStatesResponse,
)
from filigree.types.core import (
    FileRecordDict,
    ISOTimestamp,
    IssueDict,
    PaginatedResult,
    ProjectConfig,
    ScanFindingDict,
)
from filigree.types.events import (
    EventRecord,
    EventRecordWithTitle,
    UndoFailure,
    UndoResult,
    UndoSuccess,
)
from filigree.types.files import (
    CleanStaleResult,
    FileAssociation,
    FileDetail,
    FileHotspot,
    FindingsSummary,
    GlobalFindingsStats,
    HotspotFileRef,
    IssueFileAssociation,
    ScanIngestResult,
    ScanRunRecord,
    SeverityBreakdown,
)
from filigree.types.planning import (
    CommentRecord,
    CriticalPathNode,
    DependencyRecord,
    FlowMetrics,
    PlanPhase,
    PlanTree,
    StatsResult,
    TypeMetrics,
)
from filigree.types.workflow import (
    FieldSchemaInfo,
    StateInfo,
    TemplateInfo,
    TemplateListItem,
    TransitionInfo,
    TypeInfoResponse,
    TypeListItem,
)

__all__ = [
    "AddCommentResult",
    "ArchiveClosedResponse",
    "BatchActionResponse",
    "BatchCloseResponse",
    "BatchUpdateResponse",
    "BlockedIssue",
    "ClaimNextEmptyResponse",
    "ClaimNextResponse",
    "CleanStaleResult",
    "CommentRecord",
    "CompactEventsResponse",
    "CriticalPathNode",
    "CriticalPathResponse",
    "DepDetail",
    "DependencyActionResponse",
    "DependencyRecord",
    "EnrichedIssueDetail",
    "ErrorResponse",
    "EventRecord",
    "EventRecordWithTitle",
    "FieldSchemaInfo",
    "FileAssociation",
    "FileDetail",
    "FileHotspot",
    "FileRecordDict",
    "FindingsSummary",
    "FlowMetrics",
    "GlobalFindingsStats",
    "HotspotFileRef",
    "ISOTimestamp",
    "IssueDetailEvent",
    "IssueDict",
    "IssueFileAssociation",
    "IssueListResponse",
    "IssueWithChangedFields",
    "IssueWithTransitions",
    "IssueWithUnblocked",
    "JsonlTransferResponse",
    "LabelActionResponse",
    "OutboundTransitionInfo",
    "PackListItem",
    "PaginatedResult",
    "PlanPhase",
    "PlanResponse",
    "PlanTree",
    "ProjectConfig",
    "ScanFindingDict",
    "ScanIngestResult",
    "ScanRunRecord",
    "SearchResponse",
    "SeverityBreakdown",
    "SlimIssue",
    "StateExplanation",
    "StateInfo",
    "StatsResult",
    "StatsWithPrefix",
    "TemplateInfo",
    "TemplateListItem",
    "TransitionDetail",
    "TransitionError",
    "TransitionHint",
    "TransitionInfo",
    "TypeInfoResponse",
    "TypeListItem",
    "TypeMetrics",
    "UndoFailure",
    "UndoResult",
    "UndoSuccess",
    "ValidationResult",
    "WorkflowGuideResponse",
    "WorkflowStatesResponse",
]
