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


class CloudapiVgpuListResultModel(_base.BaseAPIResultModel):
    data: list[_nested.VGPUAPIResultNM]
    entry_count: int


class CloudapiVgpuListProtocol(_base.BasePostAPIFunctionProtocol):
    def list(
        self,
        *,
        id: int | None = None,
        status: _nested.VGPUStatus | None = None,
        pgpu_processor_type: _nested.PGPUProcessorType | None = None,
        pgpu_mode: _nested.PGPUMode | None = None,
        rg_id: int | None = None,
        account_id: int | None = None,
        vm_id: int | None = None,
        pgpu_id: int | None = None,
        sort_by: str | None = None,
        page_number: int | None = None,
        page_size: int | None = None,
    ) -> CloudapiVgpuListResultModel:
        ...
