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

from __future__ import annotations
from .v3_auditlogs_actor import V3AuditLogsActor, V3AuditLogsActorTypedDict
from .v3_auditlogs_filters import V3AuditLogsFilters, V3AuditLogsFiltersTypedDict
import pydantic
from squadcast_sdk.types import BaseModel
from typing_extensions import Annotated, TypedDict


class V3AuditLogsAuditLogsExportHistoryResponseTypedDict(TypedDict):
    r"""Response model for audit logs export history"""

    id: str
    name: str
    description: str
    exported_at: str
    requested_by: V3AuditLogsActorTypedDict
    r"""Represents an actor (user) in audit logs"""
    download_link: str
    status: str
    filters: V3AuditLogsFiltersTypedDict
    r"""Represents filters used in audit log queries"""


class V3AuditLogsAuditLogsExportHistoryResponse(BaseModel):
    r"""Response model for audit logs export history"""

    id: str

    name: str

    description: str

    exported_at: Annotated[str, pydantic.Field(alias="exportedAt")]

    requested_by: Annotated[V3AuditLogsActor, pydantic.Field(alias="requestedBy")]
    r"""Represents an actor (user) in audit logs"""

    download_link: Annotated[str, pydantic.Field(alias="downloadLink")]

    status: str

    filters: V3AuditLogsFilters
    r"""Represents filters used in audit log queries"""
