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

from __future__ import annotations
from .v3_incidents_exportformat import V3IncidentsExportFormat
from .v3_incidents_exportincidentsfilter import (
    V3IncidentsExportIncidentsFilter,
    V3IncidentsExportIncidentsFilterTypedDict,
)
from datetime import datetime
from squadcast_sdk.types import BaseModel
from typing_extensions import TypedDict


class V3IncidentsIncidentExportAsyncRequestTypedDict(TypedDict):
    r"""Request body for async incident export."""

    owner_id: str
    type: V3IncidentsExportFormat
    r"""Type of export, can be csv or json"""
    start_time: datetime
    end_time: datetime
    incident_filters: V3IncidentsExportIncidentsFilterTypedDict
    r"""Filter criteria for incidents in an export."""


class V3IncidentsIncidentExportAsyncRequest(BaseModel):
    r"""Request body for async incident export."""

    owner_id: str

    type: V3IncidentsExportFormat
    r"""Type of export, can be csv or json"""

    start_time: datetime

    end_time: datetime

    incident_filters: V3IncidentsExportIncidentsFilter
    r"""Filter criteria for incidents in an export."""
