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

from __future__ import annotations
from .timeseriesdatapoint import TimeseriesDataPoint, TimeseriesDataPointTypedDict
from mixpeek.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class TimeseriesUsageTypedDict(TypedDict):
    r"""Timeseries usage data for various metrics"""

    api_calls: NotRequired[List[TimeseriesDataPointTypedDict]]
    r"""API calls over time"""
    storage_used: NotRequired[List[TimeseriesDataPointTypedDict]]
    r"""Storage used over time"""
    documents_processed: NotRequired[List[TimeseriesDataPointTypedDict]]
    r"""Documents processed over time"""
    credits_used: NotRequired[List[TimeseriesDataPointTypedDict]]
    r"""Credits used over time"""


class TimeseriesUsage(BaseModel):
    r"""Timeseries usage data for various metrics"""

    api_calls: Optional[List[TimeseriesDataPoint]] = None
    r"""API calls over time"""

    storage_used: Optional[List[TimeseriesDataPoint]] = None
    r"""Storage used over time"""

    documents_processed: Optional[List[TimeseriesDataPoint]] = None
    r"""Documents processed over time"""

    credits_used: Optional[List[TimeseriesDataPoint]] = None
    r"""Credits used over time"""
