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


class CloudapiTasksListResultModel(_base.BaseAPIResultModel):
    data: list[_nested.TaskAPIResultNM]
    entry_count: int


class CloudapiTasksListProtocol(_base.BasePostAPIFunctionProtocol):
    def list(
        self,
        *,
        audit_guid: str | None = None,
        completed: bool | None = None,
        created_after_timestamp: int | None = None,
        created_before_timestamp: int | None = None,
        page_number: int = 1,
        page_size: int = 20,
        sort_by: str | None = None,
        status: _nested.TaskStatus | None = None,
        task_guid: str | None = None,
    ) -> CloudapiTasksListResultModel:
        ...
