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

from __future__ import annotations
from datetime import datetime
from outpost_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class TenantTypedDict(TypedDict):
    id: NotRequired[str]
    r"""User-defined system ID for the tenant."""
    destinations_count: NotRequired[int]
    r"""Number of destinations associated with the tenant."""
    topics: NotRequired[List[str]]
    r"""List of subscribed topics across all destinations for this tenant."""
    created_at: NotRequired[datetime]
    r"""ISO Date when the tenant was created."""


class Tenant(BaseModel):
    id: Optional[str] = None
    r"""User-defined system ID for the tenant."""

    destinations_count: Optional[int] = None
    r"""Number of destinations associated with the tenant."""

    topics: Optional[List[str]] = None
    r"""List of subscribed topics across all destinations for this tenant."""

    created_at: Optional[datetime] = None
    r"""ISO Date when the tenant was created."""
