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


class CloudapiSecurityGroupListResultModel(_base.BaseAPIResultModel):
    data: list[_nested.SecurityGroupAPIResultNM]
    entry_count: int


class CloudapiSecurityGroupListProtocol(_base.BaseGetAPIFunctionProtocol):
    def list(
        self,
        *,
        account_id: int | None = None,
        created_after_timestamp: int | None = None,
        created_before_timestamp: int | None = None,
        description: str | None = None,
        id: int | None = None,
        name: str | None = None,
        page_number: int | None = None,
        page_size: int | None = None,
        sort_by: str | None = None,
        updated_after_timestamp: int | None = None,
        updated_before_timestamp: int | None = None,
    ) -> CloudapiSecurityGroupListResultModel:
        ...
