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

from __future__ import annotations
from .v3_auditlogs_listauditlogsexporthistoryresponse import (
    V3AuditLogsListAuditLogsExportHistoryResponse,
    V3AuditLogsListAuditLogsExportHistoryResponseTypedDict,
)
import pydantic
from squadcast_sdk.types import BaseModel
from squadcast_sdk.utils import FieldMetadata, QueryParamMetadata
from typing import Callable, Optional
from typing_extensions import Annotated, TypedDict


class AuditLogsListAuditLogsExportHistoryRequestTypedDict(TypedDict):
    page_size: int
    page_number: int


class AuditLogsListAuditLogsExportHistoryRequest(BaseModel):
    page_size: Annotated[
        int,
        pydantic.Field(alias="pageSize"),
        FieldMetadata(query=QueryParamMetadata(style="form", explode=False)),
    ]

    page_number: Annotated[
        int,
        pydantic.Field(alias="pageNumber"),
        FieldMetadata(query=QueryParamMetadata(style="form", explode=False)),
    ]


class AuditLogsListAuditLogsExportHistoryResponseTypedDict(TypedDict):
    result: V3AuditLogsListAuditLogsExportHistoryResponseTypedDict


class AuditLogsListAuditLogsExportHistoryResponse(BaseModel):
    next: Callable[[], Optional[AuditLogsListAuditLogsExportHistoryResponse]]

    result: V3AuditLogsListAuditLogsExportHistoryResponse
