import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested


class CloudapiLbListResultModel(_base.BaseAPIResultModel):
    data: list[_nested.LBAPIResultNM]
    entry_count: int


class CloudapiLbListProtocol(_base.BasePostAPIFunctionProtocol):
    def list(
        self,
        *,
        account_id: None | int = None,
        backend_ip_addr: None | str = None,
        frontend_ip_addr: None | str = None,
        id: None | int = None,
        include_deleted: bool = False,
        name: None | str = None,
        page_number: None | int = None,
        page_size: None | int = None,
        rg_id: None | int = None,
        zone_id: None | int = None,
        sort_by: None | str = None,
        status: None | _nested.LBStatus = None,
        tech_status: None | _nested.LBTechStatus = None,
    ) -> CloudapiLbListResultModel:
        ...
