# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

from typing_extensions import Literal, Required, Annotated, TypedDict

from ...._types import SequenceNotStr
from ...._utils import PropertyInfo

__all__ = ["TestListParams"]


class TestListParams(TypedDict, total=False):
    account_id: Required[str]

    colo: str
    """Optionally filter result stats to a Cloudflare colo.

    Cannot be used in combination with deviceId param.
    """

    device_id: Annotated[SequenceNotStr[str], PropertyInfo(alias="deviceId")]
    """Optionally filter result stats to a specific device(s).

    Cannot be used in combination with colo param.
    """

    kind: Literal["http", "traceroute"]
    """Filter by test type"""

    page: float
    """Page number of paginated results"""

    per_page: float
    """Number of items per page"""

    registration_id: str
    """Optionally filter results to a specific device registration.

    Must be used in combination with a single deviceId.
    """

    test_name: Annotated[str, PropertyInfo(alias="testName")]
    """Optionally filter results by test name"""
