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

from __future__ import annotations
import pydantic
from squadcast_sdk.types import BaseModel
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class CommonV4PageInfoTypedDict(TypedDict):
    page_size: int
    has_next: bool
    has_previous: bool
    next_cursor: NotRequired[str]
    previous_cursor: NotRequired[str]


class CommonV4PageInfo(BaseModel):
    page_size: Annotated[int, pydantic.Field(alias="pageSize")]

    has_next: Annotated[bool, pydantic.Field(alias="hasNext")]

    has_previous: Annotated[bool, pydantic.Field(alias="hasPrevious")]

    next_cursor: Annotated[Optional[str], pydantic.Field(alias="nextCursor")] = None

    previous_cursor: Annotated[
        Optional[str], pydantic.Field(alias="previousCursor")
    ] = None
