from aiohttp import ClientTimeout
from kubernetes_asyncio.client.api_client import ApiClient
from kubernetes_asyncio.client.models import V1APIResourceList
from kubernetes_asyncio.client.models import V1DeleteOptions
from kubernetes_asyncio.client.models import V1Status
from kubernetes_asyncio.client.models import V2HorizontalPodAutoscaler
from kubernetes_asyncio.client.models import V2HorizontalPodAutoscalerList
from multidict import CIMultiDictProxy
from typing import Any
from typing import Awaitable

class AutoscalingV2Api:
    def __init__(self, api_client: ApiClient | None = None) -> None: ...
    def create_namespaced_horizontal_pod_autoscaler(self, namespace: str, body: V2HorizontalPodAutoscaler, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscaler]: ...
    def create_namespaced_horizontal_pod_autoscaler_with_http_info(self, namespace: str, body: V2HorizontalPodAutoscaler, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscaler, int, CIMultiDictProxy]]: ...
    def delete_collection_namespaced_horizontal_pod_autoscaler(self, namespace: str, *, pretty: str = ..., _continue: str = ..., dry_run: str = ..., field_selector: str = ..., grace_period_seconds: int = ..., ignore_store_read_error_with_cluster_breaking_potential: bool = ..., label_selector: str = ..., limit: int = ..., orphan_dependents: bool = ..., propagation_policy: str = ..., resource_version: str = ..., resource_version_match: str = ..., send_initial_events: bool = ..., timeout_seconds: int = ..., body: V1DeleteOptions = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V1Status]: ...
    def delete_collection_namespaced_horizontal_pod_autoscaler_with_http_info(self, namespace: str, *, pretty: str = ..., _continue: str = ..., dry_run: str = ..., field_selector: str = ..., grace_period_seconds: int = ..., ignore_store_read_error_with_cluster_breaking_potential: bool = ..., label_selector: str = ..., limit: int = ..., orphan_dependents: bool = ..., propagation_policy: str = ..., resource_version: str = ..., resource_version_match: str = ..., send_initial_events: bool = ..., timeout_seconds: int = ..., body: V1DeleteOptions = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def delete_namespaced_horizontal_pod_autoscaler(self, name: str, namespace: str, *, pretty: str = ..., dry_run: str = ..., grace_period_seconds: int = ..., ignore_store_read_error_with_cluster_breaking_potential: bool = ..., orphan_dependents: bool = ..., propagation_policy: str = ..., body: V1DeleteOptions = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V1Status]: ...
    def delete_namespaced_horizontal_pod_autoscaler_with_http_info(self, name: str, namespace: str, *, pretty: str = ..., dry_run: str = ..., grace_period_seconds: int = ..., ignore_store_read_error_with_cluster_breaking_potential: bool = ..., orphan_dependents: bool = ..., propagation_policy: str = ..., body: V1DeleteOptions = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V1Status, int, CIMultiDictProxy]]: ...
    def get_api_resources(self, *, async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V1APIResourceList]: ...
    def get_api_resources_with_http_info(self, *, async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V1APIResourceList, int, CIMultiDictProxy]]: ...
    def list_horizontal_pod_autoscaler_for_all_namespaces(self, *, allow_watch_bookmarks: bool = ..., _continue: str = ..., field_selector: str = ..., label_selector: str = ..., limit: int = ..., pretty: str = ..., resource_version: str = ..., resource_version_match: str = ..., send_initial_events: bool = ..., timeout_seconds: int = ..., watch: bool = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscalerList]: ...
    def list_horizontal_pod_autoscaler_for_all_namespaces_with_http_info(self, *, allow_watch_bookmarks: bool = ..., _continue: str = ..., field_selector: str = ..., label_selector: str = ..., limit: int = ..., pretty: str = ..., resource_version: str = ..., resource_version_match: str = ..., send_initial_events: bool = ..., timeout_seconds: int = ..., watch: bool = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscalerList, int, CIMultiDictProxy]]: ...
    def list_namespaced_horizontal_pod_autoscaler(self, namespace: str, *, pretty: str = ..., allow_watch_bookmarks: bool = ..., _continue: str = ..., field_selector: str = ..., label_selector: str = ..., limit: int = ..., resource_version: str = ..., resource_version_match: str = ..., send_initial_events: bool = ..., timeout_seconds: int = ..., watch: bool = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscalerList]: ...
    def list_namespaced_horizontal_pod_autoscaler_with_http_info(self, namespace: str, *, pretty: str = ..., allow_watch_bookmarks: bool = ..., _continue: str = ..., field_selector: str = ..., label_selector: str = ..., limit: int = ..., resource_version: str = ..., resource_version_match: str = ..., send_initial_events: bool = ..., timeout_seconds: int = ..., watch: bool = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscalerList, int, CIMultiDictProxy]]: ...
    def patch_namespaced_horizontal_pod_autoscaler(self, name: str, namespace: str, body: Any, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., force: bool = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscaler]: ...
    def patch_namespaced_horizontal_pod_autoscaler_status(self, name: str, namespace: str, body: Any, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., force: bool = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscaler]: ...
    def patch_namespaced_horizontal_pod_autoscaler_status_with_http_info(self, name: str, namespace: str, body: Any, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., force: bool = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscaler, int, CIMultiDictProxy]]: ...
    def patch_namespaced_horizontal_pod_autoscaler_with_http_info(self, name: str, namespace: str, body: Any, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., force: bool = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscaler, int, CIMultiDictProxy]]: ...
    def read_namespaced_horizontal_pod_autoscaler(self, name: str, namespace: str, *, pretty: str = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscaler]: ...
    def read_namespaced_horizontal_pod_autoscaler_status(self, name: str, namespace: str, *, pretty: str = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscaler]: ...
    def read_namespaced_horizontal_pod_autoscaler_status_with_http_info(self, name: str, namespace: str, *, pretty: str = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscaler, int, CIMultiDictProxy]]: ...
    def read_namespaced_horizontal_pod_autoscaler_with_http_info(self, name: str, namespace: str, *, pretty: str = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscaler, int, CIMultiDictProxy]]: ...
    def replace_namespaced_horizontal_pod_autoscaler(self, name: str, namespace: str, body: V2HorizontalPodAutoscaler, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscaler]: ...
    def replace_namespaced_horizontal_pod_autoscaler_status(self, name: str, namespace: str, body: V2HorizontalPodAutoscaler, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., async_req: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ...) -> Awaitable[V2HorizontalPodAutoscaler]: ...
    def replace_namespaced_horizontal_pod_autoscaler_status_with_http_info(self, name: str, namespace: str, body: V2HorizontalPodAutoscaler, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscaler, int, CIMultiDictProxy]]: ...
    def replace_namespaced_horizontal_pod_autoscaler_with_http_info(self, name: str, namespace: str, body: V2HorizontalPodAutoscaler, *, pretty: str = ..., dry_run: str = ..., field_manager: str = ..., field_validation: str = ..., async_req: bool = ..., _return_http_data_only: bool = ..., _preload_content: bool = ..., _request_timeout: None | int | float | tuple[float, float] | ClientTimeout = ..., _request_auth: dict = ...) -> Awaitable[tuple[V2HorizontalPodAutoscaler, int, CIMultiDictProxy]]: ...
