# This file was auto-generated by Fern from our API Definition.

from __future__ import annotations

import typing

from ...core.pydantic_utilities import pydantic_v1
from .identifier_list import IdentifierList


class Rule_Approver(pydantic_v1.BaseModel):
    type: typing.Literal["approver"] = "approver"
    num_approvers: int = pydantic_v1.Field(alias="numApprovers")
    identifier_list: IdentifierList = pydantic_v1.Field(alias="identifierList")

    class Config:
        frozen = True
        smart_union = True
        allow_population_by_field_name = True
        populate_by_name = True


"""
from mercoa import IdentifierList_RolesList, Rule_Approver

Rule_Approver(
    num_approvers=1,
    identifier_list=IdentifierList_RolesList(value=["admin"]),
)
"""
Rule = typing.Union[Rule_Approver]
