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

from __future__ import annotations
from .membercounts import MemberCounts, MemberCountsTypedDict
from .organizationpreferences import (
    OrganizationPreferences,
    OrganizationPreferencesTypedDict,
)
from censys_platform.types import BaseModel
from datetime import datetime
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class OrganizationDetailsTypedDict(TypedDict):
    name: str
    r"""The name of the organization."""
    uid: str
    r"""The ID of a Censys organization."""
    created_at: NotRequired[datetime]
    r"""The date and time the organization was created."""
    member_counts: NotRequired[MemberCountsTypedDict]
    preferences: NotRequired[OrganizationPreferencesTypedDict]


class OrganizationDetails(BaseModel):
    name: str
    r"""The name of the organization."""

    uid: str
    r"""The ID of a Censys organization."""

    created_at: Optional[datetime] = None
    r"""The date and time the organization was created."""

    member_counts: Optional[MemberCounts] = None

    preferences: Optional[OrganizationPreferences] = None
