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

from __future__ import annotations
from .descriptiondetail import DescriptionDetail, DescriptionDetailTypedDict
from .sanctionslistdetail import SanctionsListDetail, SanctionsListDetailTypedDict
from ascend_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class RelatedProfileTypedDict(TypedDict):
    r"""Profiles related to dow jones profile"""

    description_details: NotRequired[List[DescriptionDetailTypedDict]]
    r"""Description details"""
    dow_jones_person_id: NotRequired[int]
    r"""Dow Jones person id"""
    given_name: NotRequired[str]
    r"""Given name relating to profile"""
    middle_names: NotRequired[str]
    r"""Middle names relating to profile"""
    name_suffix: NotRequired[str]
    r"""Surname relating to profile"""
    relationship_type: NotRequired[str]
    r"""Relationship type"""
    sanctions_list_details: NotRequired[List[SanctionsListDetailTypedDict]]
    r"""Sanctions list details"""
    surname: NotRequired[str]
    r"""Surname relating to profile"""
    title_honorific: NotRequired[str]
    r"""Dow Jones persons title"""


class RelatedProfile(BaseModel):
    r"""Profiles related to dow jones profile"""

    description_details: Optional[List[DescriptionDetail]] = None
    r"""Description details"""

    dow_jones_person_id: Optional[int] = None
    r"""Dow Jones person id"""

    given_name: Optional[str] = None
    r"""Given name relating to profile"""

    middle_names: Optional[str] = None
    r"""Middle names relating to profile"""

    name_suffix: Optional[str] = None
    r"""Surname relating to profile"""

    relationship_type: Optional[str] = None
    r"""Relationship type"""

    sanctions_list_details: Optional[List[SanctionsListDetail]] = None
    r"""Sanctions list details"""

    surname: Optional[str] = None
    r"""Surname relating to profile"""

    title_honorific: Optional[str] = None
    r"""Dow Jones persons title"""
