"""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 V2PermissionsListRolesRequestBodyTypedDict(TypedDict):
    limit: NotRequired[int]
    r"""Maximum number of roles to return in a single response.
    Use smaller values for faster response times and better UI performance.
    Use larger values when you need to process many roles efficiently.
    Results exceeding this limit will be paginated with a cursor for continuation.

    """
    cursor: NotRequired[str]
    r"""Pagination cursor from a previous response to fetch the next page of roles.
    Include this when you need to retrieve additional roles beyond the first page.
    Each response containing more results will include a cursor value that can be used here.
    Leave empty or omit this field to start from the beginning of the role list.

    """


class V2PermissionsListRolesRequestBody(BaseModel):
    limit: Optional[int] = 100
    r"""Maximum number of roles to return in a single response.
    Use smaller values for faster response times and better UI performance.
    Use larger values when you need to process many roles efficiently.
    Results exceeding this limit will be paginated with a cursor for continuation.

    """

    cursor: Optional[str] = None
    r"""Pagination cursor from a previous response to fetch the next page of roles.
    Include this when you need to retrieve additional roles beyond the first page.
    Each response containing more results will include a cursor value that can be used here.
    Leave empty or omit this field to start from the beginning of the role list.

    """
