# Code generated by lark_sdk_gen. DO NOT EDIT.

import typing
from pylark.lark_request import Response

from pylark.api_service_meeting_room_summary_batch_get import (
    BatchGetMeetingRoomSummaryReq,
    BatchGetMeetingRoomSummaryResp,
    _gen_batch_get_meeting_room_summary_req,
)
from pylark.api_service_meeting_room_building_get_list import (
    GetMeetingRoomBuildingListReq,
    GetMeetingRoomBuildingListResp,
    _gen_get_meeting_room_building_list_req,
)
from pylark.api_service_meeting_room_building_batch_get import (
    BatchGetMeetingRoomBuildingReq,
    BatchGetMeetingRoomBuildingResp,
    _gen_batch_get_meeting_room_building_req,
)
from pylark.api_service_meeting_room_room_get_list import (
    GetMeetingRoomRoomListReq,
    GetMeetingRoomRoomListResp,
    _gen_get_meeting_room_room_list_req,
)
from pylark.api_service_meeting_room_room_batch_get import (
    BatchGetMeetingRoomRoomReq,
    BatchGetMeetingRoomRoomResp,
    _gen_batch_get_meeting_room_room_req,
)
from pylark.api_service_meeting_room_freebusy_batch_get import (
    BatchGetMeetingRoomFreebusyReq,
    BatchGetMeetingRoomFreebusyResp,
    _gen_batch_get_meeting_room_freebusy_req,
)
from pylark.api_service_meeting_room_instance_reply import (
    ReplyMeetingRoomInstanceReq,
    ReplyMeetingRoomInstanceResp,
    _gen_reply_meeting_room_instance_req,
)
from pylark.api_service_meeting_room_building_create import (
    CreateMeetingRoomBuildingReq,
    CreateMeetingRoomBuildingResp,
    _gen_create_meeting_room_building_req,
)
from pylark.api_service_meeting_room_building_update import (
    UpdateMeetingRoomBuildingReq,
    UpdateMeetingRoomBuildingResp,
    _gen_update_meeting_room_building_req,
)
from pylark.api_service_meeting_room_building_delete import (
    DeleteMeetingRoomBuildingReq,
    DeleteMeetingRoomBuildingResp,
    _gen_delete_meeting_room_building_req,
)
from pylark.api_service_meeting_room_building_batch_get_id import (
    BatchGetMeetingRoomBuildingIDReq,
    BatchGetMeetingRoomBuildingIDResp,
    _gen_batch_get_meeting_room_building_id_req,
)
from pylark.api_service_meeting_room_room_create import (
    CreateMeetingRoomRoomReq,
    CreateMeetingRoomRoomResp,
    _gen_create_meeting_room_room_req,
)
from pylark.api_service_meeting_room_room_update import (
    UpdateMeetingRoomRoomReq,
    UpdateMeetingRoomRoomResp,
    _gen_update_meeting_room_room_req,
)
from pylark.api_service_meeting_room_room_delete import (
    DeleteMeetingRoomRoomReq,
    DeleteMeetingRoomRoomResp,
    _gen_delete_meeting_room_room_req,
)
from pylark.api_service_meeting_room_room_batch_get_id import (
    BatchGetMeetingRoomRoomIDReq,
    BatchGetMeetingRoomRoomIDResp,
    _gen_batch_get_meeting_room_room_id_req,
)
from pylark.api_service_meeting_room_country_get_list import (
    GetMeetingRoomCountryListReq,
    GetMeetingRoomCountryListResp,
    _gen_get_meeting_room_country_list_req,
)
from pylark.api_service_meeting_room_district_get_list import (
    GetMeetingRoomDistrictListReq,
    GetMeetingRoomDistrictListResp,
    _gen_get_meeting_room_district_list_req,
)


if typing.TYPE_CHECKING:
    from lark import Lark


class LarkMeetingRoomService(object):
    cli: "Lark"

    def __init__(self, cli: "Lark"):
        self.cli = cli

    def batch_get_meeting_room_summary(
        self, request: BatchGetMeetingRoomSummaryReq, options: typing.List[str] = None
    ) -> typing.Tuple[BatchGetMeetingRoomSummaryResp, Response]:
        return self.cli.raw_request(
            _gen_batch_get_meeting_room_summary_req(request, options)
        )

    def get_meeting_room_building_list(
        self, request: GetMeetingRoomBuildingListReq, options: typing.List[str] = None
    ) -> typing.Tuple[GetMeetingRoomBuildingListResp, Response]:
        return self.cli.raw_request(
            _gen_get_meeting_room_building_list_req(request, options)
        )

    def batch_get_meeting_room_building(
        self, request: BatchGetMeetingRoomBuildingReq, options: typing.List[str] = None
    ) -> typing.Tuple[BatchGetMeetingRoomBuildingResp, Response]:
        return self.cli.raw_request(
            _gen_batch_get_meeting_room_building_req(request, options)
        )

    def get_meeting_room_room_list(
        self, request: GetMeetingRoomRoomListReq, options: typing.List[str] = None
    ) -> typing.Tuple[GetMeetingRoomRoomListResp, Response]:
        return self.cli.raw_request(
            _gen_get_meeting_room_room_list_req(request, options)
        )

    def batch_get_meeting_room_room(
        self, request: BatchGetMeetingRoomRoomReq, options: typing.List[str] = None
    ) -> typing.Tuple[BatchGetMeetingRoomRoomResp, Response]:
        return self.cli.raw_request(
            _gen_batch_get_meeting_room_room_req(request, options)
        )

    def batch_get_meeting_room_freebusy(
        self, request: BatchGetMeetingRoomFreebusyReq, options: typing.List[str] = None
    ) -> typing.Tuple[BatchGetMeetingRoomFreebusyResp, Response]:
        return self.cli.raw_request(
            _gen_batch_get_meeting_room_freebusy_req(request, options)
        )

    def reply_meeting_room_instance(
        self, request: ReplyMeetingRoomInstanceReq, options: typing.List[str] = None
    ) -> typing.Tuple[ReplyMeetingRoomInstanceResp, Response]:
        return self.cli.raw_request(
            _gen_reply_meeting_room_instance_req(request, options)
        )

    def create_meeting_room_building(
        self, request: CreateMeetingRoomBuildingReq, options: typing.List[str] = None
    ) -> typing.Tuple[CreateMeetingRoomBuildingResp, Response]:
        return self.cli.raw_request(
            _gen_create_meeting_room_building_req(request, options)
        )

    def update_meeting_room_building(
        self, request: UpdateMeetingRoomBuildingReq, options: typing.List[str] = None
    ) -> typing.Tuple[UpdateMeetingRoomBuildingResp, Response]:
        return self.cli.raw_request(
            _gen_update_meeting_room_building_req(request, options)
        )

    def delete_meeting_room_building(
        self, request: DeleteMeetingRoomBuildingReq, options: typing.List[str] = None
    ) -> typing.Tuple[DeleteMeetingRoomBuildingResp, Response]:
        return self.cli.raw_request(
            _gen_delete_meeting_room_building_req(request, options)
        )

    def batch_get_meeting_room_building_id(
        self,
        request: BatchGetMeetingRoomBuildingIDReq,
        options: typing.List[str] = None,
    ) -> typing.Tuple[BatchGetMeetingRoomBuildingIDResp, Response]:
        return self.cli.raw_request(
            _gen_batch_get_meeting_room_building_id_req(request, options)
        )

    def create_meeting_room_room(
        self, request: CreateMeetingRoomRoomReq, options: typing.List[str] = None
    ) -> typing.Tuple[CreateMeetingRoomRoomResp, Response]:
        return self.cli.raw_request(_gen_create_meeting_room_room_req(request, options))

    def update_meeting_room_room(
        self, request: UpdateMeetingRoomRoomReq, options: typing.List[str] = None
    ) -> typing.Tuple[UpdateMeetingRoomRoomResp, Response]:
        return self.cli.raw_request(_gen_update_meeting_room_room_req(request, options))

    def delete_meeting_room_room(
        self, request: DeleteMeetingRoomRoomReq, options: typing.List[str] = None
    ) -> typing.Tuple[DeleteMeetingRoomRoomResp, Response]:
        return self.cli.raw_request(_gen_delete_meeting_room_room_req(request, options))

    def batch_get_meeting_room_room_id(
        self, request: BatchGetMeetingRoomRoomIDReq, options: typing.List[str] = None
    ) -> typing.Tuple[BatchGetMeetingRoomRoomIDResp, Response]:
        return self.cli.raw_request(
            _gen_batch_get_meeting_room_room_id_req(request, options)
        )

    def get_meeting_room_country_list(
        self, request: GetMeetingRoomCountryListReq, options: typing.List[str] = None
    ) -> typing.Tuple[GetMeetingRoomCountryListResp, Response]:
        return self.cli.raw_request(
            _gen_get_meeting_room_country_list_req(request, options)
        )

    def get_meeting_room_district_list(
        self, request: GetMeetingRoomDistrictListReq, options: typing.List[str] = None
    ) -> typing.Tuple[GetMeetingRoomDistrictListResp, Response]:
        return self.cli.raw_request(
            _gen_get_meeting_room_district_list_req(request, options)
        )
