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

from __future__ import annotations
from typing import Optional
from typing_extensions import NotRequired, TypedDict
from unkey.py.types import BaseModel


class V2PermissionsListPermissionsRequestBodyTypedDict(TypedDict):
    cursor: NotRequired[str]
    r"""Pagination cursor from a previous response to fetch the next page of permissions.
    Include this value when you need to retrieve additional permissions beyond the initial response.
    Each response containing more results than the requested limit includes a cursor for subsequent pages.

    Leave empty or omit this field to start from the beginning of the permission list.
    Cursors are temporary and may expire - always handle cases where a cursor becomes invalid.

    """
    limit: NotRequired[int]
    r"""Maximum number of permissions to return in a single response."""


class V2PermissionsListPermissionsRequestBody(BaseModel):
    cursor: Optional[str] = None
    r"""Pagination cursor from a previous response to fetch the next page of permissions.
    Include this value when you need to retrieve additional permissions beyond the initial response.
    Each response containing more results than the requested limit includes a cursor for subsequent pages.

    Leave empty or omit this field to start from the beginning of the permission list.
    Cursors are temporary and may expire - always handle cases where a cursor becomes invalid.

    """

    limit: Optional[int] = 100
    r"""Maximum number of permissions to return in a single response."""
