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

from __future__ import annotations
from datetime import date
from gusto_app_integration.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class MinimumWageTypedDict(TypedDict):
    r"""Representation of a Minimum Wage"""

    uuid: str
    r"""unique identifier of a minimum wage"""
    wage: str
    r"""The wage rate for a minimum wage record. Represented as a float, e.g. \"15.0\"."""
    wage_type: str
    r"""The type of wage the minimum wage applies to, e.g. \"Regular\", \"Regular-Industry-Specific\"."""
    effective_date: date
    r"""The date the minimum wage rule is effective on."""
    authority: str
    r"""The governing authority that created the minimum wage, e.g. \"City\", \"State\", or \"Federal\"."""
    notes: NotRequired[str]
    r"""Description of parties the minimum wage applies to."""


class MinimumWage(BaseModel):
    r"""Representation of a Minimum Wage"""

    uuid: str
    r"""unique identifier of a minimum wage"""

    wage: str
    r"""The wage rate for a minimum wage record. Represented as a float, e.g. \"15.0\"."""

    wage_type: str
    r"""The type of wage the minimum wage applies to, e.g. \"Regular\", \"Regular-Industry-Specific\"."""

    effective_date: date
    r"""The date the minimum wage rule is effective on."""

    authority: str
    r"""The governing authority that created the minimum wage, e.g. \"City\", \"State\", or \"Federal\"."""

    notes: Optional[str] = None
    r"""Description of parties the minimum wage applies to."""
