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


class CloudapiImageListResultModel(_base.BaseAPIResultModel):
    data: list[_nested.ImageForListAPIResultNM]
    entry_count: int


class CloudapiImageListProtocol(_base.BasePostAPIFunctionProtocol):
    def list(
        self,
        *,
        bootable: bool | None = None,
        id: int | None = None,
        enabled: bool | None = None,
        hot_resize: bool | None = None,
        size_gb: int | None = None,
        name: str | None = None,
        page_number: int | None = None,
        page_size: int | None = None,
        public: bool | None = None,
        sep_id: int | None = None,
        sep_name: str | None = None,
        sep_pool_name: str | None = None,
        sort_by: str | None = None,
        status: _nested.ImageStatus | None = None,
        type: _nested.ImageType | None = None,
        storage_policy_id: int | None = None,
    ) -> CloudapiImageListResultModel:
        ...
