"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .v3_workflows_actionresponse import (
    V3WorkflowsActionResponse,
    V3WorkflowsActionResponseTypedDict,
)
from .v3_workflows_tag import V3WorkflowsTag, V3WorkflowsTagTypedDict
from .v3_workflows_workflowfilters import (
    V3WorkflowsWorkflowFilters,
    V3WorkflowsWorkflowFiltersTypedDict,
)
from squadcast_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class V3WorkflowsWorkflowAPIResponseTypedDict(TypedDict):
    id: int
    owner_id: str
    title: str
    description: str
    enabled: bool
    trigger: str
    tags: List[V3WorkflowsTagTypedDict]
    actions: List[V3WorkflowsActionResponseTypedDict]
    created_at: str
    created_by: str
    filters: NotRequired[V3WorkflowsWorkflowFiltersTypedDict]
    updated_at: NotRequired[str]
    updated_by: NotRequired[str]


class V3WorkflowsWorkflowAPIResponse(BaseModel):
    id: int

    owner_id: str

    title: str

    description: str

    enabled: bool

    trigger: str

    tags: List[V3WorkflowsTag]

    actions: List[V3WorkflowsActionResponse]

    created_at: str

    created_by: str

    filters: Optional[V3WorkflowsWorkflowFilters] = None

    updated_at: Optional[str] = None

    updated_by: Optional[str] = None
