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

from __future__ import annotations
from paygentic_sdk.types import BaseModel
import pydantic
from typing_extensions import Annotated, TypedDict


class CreateDisputeRequestTypedDict(TypedDict):
    message: str
    r"""Customer explanation for challenging the consumption event. Sample values: 'Token count appears incorrect for this request', 'Storage charges don't match actual usage', 'API call was made during maintenance window', 'Inference request failed but still charged'"""
    usage_event_id: str
    r"""Usage event identifier being challenged. Sample values: 'usg_abc123xyz', 'usg_789def456'"""


class CreateDisputeRequest(BaseModel):
    message: str
    r"""Customer explanation for challenging the consumption event. Sample values: 'Token count appears incorrect for this request', 'Storage charges don't match actual usage', 'API call was made during maintenance window', 'Inference request failed but still charged'"""

    usage_event_id: Annotated[str, pydantic.Field(alias="usageEventId")]
    r"""Usage event identifier being challenged. Sample values: 'usg_abc123xyz', 'usg_789def456'"""


try:
    CreateDisputeRequest.model_rebuild()
except NameError:
    pass
