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

from __future__ import annotations
from .v3_globaleventrules_ruleaction import (
    V3GlobalEventRulesRuleAction,
    V3GlobalEventRulesRuleActionTypedDict,
)
from datetime import datetime
from squadcast_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class V3GlobalEventRulesRulesetRuleResponseTypedDict(TypedDict):
    id: NotRequired[int]
    global_event_rule_id: NotRequired[int]
    description: NotRequired[str]
    expression: NotRequired[str]
    action: NotRequired[V3GlobalEventRulesRuleActionTypedDict]
    created_at: NotRequired[datetime]
    created_by: NotRequired[str]
    updated_at: NotRequired[datetime]
    updated_by: NotRequired[str]


class V3GlobalEventRulesRulesetRuleResponse(BaseModel):
    id: Optional[int] = None

    global_event_rule_id: Optional[int] = None

    description: Optional[str] = None

    expression: Optional[str] = None

    action: Optional[V3GlobalEventRulesRuleAction] = None

    created_at: Optional[datetime] = None

    created_by: Optional[str] = None

    updated_at: Optional[datetime] = None

    updated_by: Optional[str] = None
