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

from __future__ import annotations
from .usagebucket import UsageBucket, UsageBucketTypedDict
from supertone.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class UsageAnalyticsResponseTypedDict(TypedDict):
    data: List[UsageBucketTypedDict]
    r"""Array of time buckets containing usage data"""
    total: float
    r"""Total number of time buckets across all pages"""
    next_page_token: NotRequired[str]
    r"""Pagination token for next page"""


class UsageAnalyticsResponse(BaseModel):
    data: List[UsageBucket]
    r"""Array of time buckets containing usage data"""

    total: float
    r"""Total number of time buckets across all pages"""

    next_page_token: Optional[str] = None
    r"""Pagination token for next page"""
