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

from __future__ import annotations
from ascend_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class RoleDetailTypedDict(TypedDict):
    r"""Role detail used for Dow Jones Profile details"""

    end_day: NotRequired[str]
    r"""Dow Jones day persons left the job role"""
    end_month: NotRequired[str]
    r"""Dow Jones month persons left the job role"""
    end_year: NotRequired[str]
    r"""Dow Jones year persons left the job role"""
    occupation_category: NotRequired[str]
    r"""Dow Jones occupation category"""
    occupation_description: NotRequired[str]
    r"""Dow Jones persons job description"""
    role_type: NotRequired[str]
    r"""Dow Jones persons job role"""
    start_day: NotRequired[str]
    r"""Dow Jones day persons started the job role"""
    start_month: NotRequired[str]
    r"""Dow Jones month persons started the job role"""
    start_year: NotRequired[str]
    r"""Dow Jones year persons started the job role"""


class RoleDetail(BaseModel):
    r"""Role detail used for Dow Jones Profile details"""

    end_day: Optional[str] = None
    r"""Dow Jones day persons left the job role"""

    end_month: Optional[str] = None
    r"""Dow Jones month persons left the job role"""

    end_year: Optional[str] = None
    r"""Dow Jones year persons left the job role"""

    occupation_category: Optional[str] = None
    r"""Dow Jones occupation category"""

    occupation_description: Optional[str] = None
    r"""Dow Jones persons job description"""

    role_type: Optional[str] = None
    r"""Dow Jones persons job role"""

    start_day: Optional[str] = None
    r"""Dow Jones day persons started the job role"""

    start_month: Optional[str] = None
    r"""Dow Jones month persons started the job role"""

    start_year: Optional[str] = None
    r"""Dow Jones year persons started the job role"""
