# Code generated by Lark OpenAPI.

from typing import Optional, List

from lark_oapi.core.construct import init
from .employment_bp import EmploymentBp


class BatchGetEmployeesBpResponseBody(object):
    _types = {
        "employment_direct_bps": List[EmploymentBp],
        "employment_all_bps": List[EmploymentBp],
    }

    def __init__(self, d=None):
        self.employment_direct_bps: Optional[List[EmploymentBp]] = None
        self.employment_all_bps: Optional[List[EmploymentBp]] = None
        init(self, d, self._types)

    @staticmethod
    def builder() -> "BatchGetEmployeesBpResponseBodyBuilder":
        return BatchGetEmployeesBpResponseBodyBuilder()


class BatchGetEmployeesBpResponseBodyBuilder(object):
    def __init__(self) -> None:
        self._batch_get_employees_bp_response_body = BatchGetEmployeesBpResponseBody()

    def employment_direct_bps(self,
                              employment_direct_bps: List[EmploymentBp]) -> "BatchGetEmployeesBpResponseBodyBuilder":
        self._batch_get_employees_bp_response_body.employment_direct_bps = employment_direct_bps
        return self

    def employment_all_bps(self, employment_all_bps: List[EmploymentBp]) -> "BatchGetEmployeesBpResponseBodyBuilder":
        self._batch_get_employees_bp_response_body.employment_all_bps = employment_all_bps
        return self

    def build(self) -> "BatchGetEmployeesBpResponseBody":
        return self._batch_get_employees_bp_response_body
