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

from __future__ import annotations
from .immediatefamilymember import ImmediateFamilyMember, ImmediateFamilyMemberTypedDict
from ascend_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class RelatedPepTypedDict(TypedDict):
    r"""Detail around the related politically exposed Person"""

    immediate_family_members: NotRequired[List[ImmediateFamilyMemberTypedDict]]
    r"""Information about the immediate family members of the related politically exposed person"""
    organization: NotRequired[str]
    r"""The organization a politically exposed person is associated with causing them to be considered politically exposed"""
    pep_name: NotRequired[str]
    r"""The name of the related politically exposed person"""
    title: NotRequired[str]
    r"""The title of the related politically exposed person"""


class RelatedPep(BaseModel):
    r"""Detail around the related politically exposed Person"""

    immediate_family_members: Optional[List[ImmediateFamilyMember]] = None
    r"""Information about the immediate family members of the related politically exposed person"""

    organization: Optional[str] = None
    r"""The organization a politically exposed person is associated with causing them to be considered politically exposed"""

    pep_name: Optional[str] = None
    r"""The name of the related politically exposed person"""

    title: Optional[str] = None
    r"""The title of the related politically exposed person"""
