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

from __future__ import annotations
from .tax_requirement_set import TaxRequirementSet, TaxRequirementSetTypedDict
from gusto_embedded.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class TaxRequirementsStateTypedDict(TypedDict):
    company_uuid: NotRequired[str]
    state: NotRequired[str]
    r"""One of the two-letter state abbreviations for the fifty United States and the District of Columbia (DC)"""
    requirement_sets: NotRequired[List[TaxRequirementSetTypedDict]]


class TaxRequirementsState(BaseModel):
    company_uuid: Optional[str] = None

    state: Optional[str] = None
    r"""One of the two-letter state abbreviations for the fifty United States and the District of Columbia (DC)"""

    requirement_sets: Optional[List[TaxRequirementSet]] = None
