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

from __future__ import annotations
from squadcast_sdk.types import BaseModel
from typing_extensions import TypedDict


class V3AuthAccessTokenDataTypedDict(TypedDict):
    r"""Access token response returned by the OAuth endpoint."""

    access_token: str
    r"""JWT access token used as Bearer token for API requests."""
    expires_at: int
    r"""Unix timestamp when the access token expires."""
    issued_at: int
    r"""Unix timestamp when the access token was issued."""
    refresh_token: str
    r"""Refresh token that can be used to obtain a new access token."""
    type: str
    r"""Token type, e.g. \"Bearer\"."""


class V3AuthAccessTokenData(BaseModel):
    r"""Access token response returned by the OAuth endpoint."""

    access_token: str
    r"""JWT access token used as Bearer token for API requests."""

    expires_at: int
    r"""Unix timestamp when the access token expires."""

    issued_at: int
    r"""Unix timestamp when the access token was issued."""

    refresh_token: str
    r"""Refresh token that can be used to obtain a new access token."""

    type: str
    r"""Token type, e.g. \"Bearer\"."""
