"""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 CustomerReferralSourceUpdateTypedDict(TypedDict):
    r"""Customer Referral Source"""

    name: NotRequired[str]
    r"""The name of the referrer"""
    relationship_to_applicant: NotRequired[str]
    r"""The relationship of the referrer to the applicant"""
    relationship_years_with_applicant: NotRequired[int]
    r"""The years the referrer has known the applicant If the referrer has known the applicant for less than a year, they must specify 1"""
    relationship_years_with_broker: NotRequired[int]
    r"""The years the referrer has known the broker If the referrer has known the broker for less than a year, they must specify 1"""


class CustomerReferralSourceUpdate(BaseModel):
    r"""Customer Referral Source"""

    name: Optional[str] = None
    r"""The name of the referrer"""

    relationship_to_applicant: Optional[str] = None
    r"""The relationship of the referrer to the applicant"""

    relationship_years_with_applicant: Optional[int] = None
    r"""The years the referrer has known the applicant If the referrer has known the applicant for less than a year, they must specify 1"""

    relationship_years_with_broker: Optional[int] = None
    r"""The years the referrer has known the broker If the referrer has known the broker for less than a year, they must specify 1"""
