import type { Filter, ResourcePage as Page, Params, PriceType } from '../types';
import type { CreateKubeClusterPayload, KubeConfigResponse, KubernetesCluster, KubernetesControlPlaneACLPayload, KubernetesDashboardResponse, KubernetesEndpointResponse, KubernetesTieredVersion, KubernetesVersion } from './types';
/**
 * getKubernetesClusters
 *
 * Gets a list of a user's Kubernetes clusters
 */
export declare const getKubernetesClusters: (params?: Params, filters?: Filter) => Promise<Page<KubernetesCluster>>;
/**
 * getKubernetesClustersBeta
 *
 * Gets a list of a user's Kubernetes clusters from beta API
 */
export declare const getKubernetesClustersBeta: (params?: Params, filters?: Filter) => Promise<Page<KubernetesCluster>>;
/**
 * getKubernetesCluster
 *
 * Return details about a single Kubernetes cluster
 */
export declare const getKubernetesCluster: (clusterID: number) => Promise<KubernetesCluster>;
/**
 * getKubernetesClusterBeta
 *
 * Return details about a single Kubernetes cluster from beta API
 */
export declare const getKubernetesClusterBeta: (clusterID: number) => Promise<KubernetesCluster>;
/**
 * createKubernetesClusters
 *
 * Create a new cluster.
 */
export declare const createKubernetesCluster: (data: CreateKubeClusterPayload) => Promise<KubernetesCluster>;
/**
 * createKubernetesClustersBeta
 *
 * Create a new cluster with the beta API:
 * 1. When the feature flag for APL is enabled and APL is set to enabled in the UI
 * 2. When the LKE-E feature is enabled
 *
 * duplicated function of createKubernetesCluster
 * necessary to call BETA_API_ROOT in a separate function based on feature flag
 */
export declare const createKubernetesClusterBeta: (data: CreateKubeClusterPayload) => Promise<KubernetesCluster>;
/**
 * updateKubernetesCluster
 *
 * Update an existing cluster.
 */
export declare const updateKubernetesCluster: (clusterID: number, data: Partial<KubernetesCluster>) => Promise<KubernetesCluster>;
/**
 * deleteKubernetesCluster
 *
 * Delete the specified Cluster.
 */
export declare const deleteKubernetesCluster: (clusterID: number) => Promise<{}>;
/**
 * getKubeConfig
 *
 * Returns a base64 encoded string of a cluster's kubeconfig.yaml
 *
 * @param clusterId
 */
export declare const getKubeConfig: (clusterId: number) => Promise<KubeConfigResponse>;
/**
 * resetKubeConfig
 *
 * Regenerates the cluster's kubeconfig.yaml
 *
 * @param clusterId
 */
export declare const resetKubeConfig: (clusterId: number) => Promise<{}>;
/** getKubernetesVersions
 *
 * Returns a paginated list of available Kubernetes versions.
 *
 */
export declare const getKubernetesVersions: (params?: Params, filters?: Filter) => Promise<Page<KubernetesVersion>>;
/** getKubernetesTieredVersionsBeta
 *
 * Returns a paginated list of available Kubernetes tiered versions from the beta API.
 *
 */
export declare const getKubernetesTieredVersionsBeta: (tier: string, params?: Params, filters?: Filter) => Promise<Page<KubernetesTieredVersion>>;
/** getKubernetesVersion
 *
 * Returns a single Kubernetes version by ID.
 *
 */
export declare const getKubernetesVersion: (versionID: string) => Promise<KubernetesVersion>;
/** getKubernetesTieredVersionBeta
 *
 * Returns a single tiered Kubernetes version by ID from the beta API.
 *
 */
export declare const getKubernetesTieredVersionBeta: (tier: string, versionID: string) => Promise<KubernetesTieredVersion>;
/** getKubernetesClusterEndpoint
 *
 * Returns the endpoint URL for a single Kubernetes cluster by ID.
 *
 */
export declare const getKubernetesClusterEndpoints: (clusterID: number, params?: Params, filters?: Filter) => Promise<Page<KubernetesEndpointResponse>>;
/** getKubernetesClusterDashboard
 * Returns the URL for a single Kubernetes Dashboard for a single Kubernetes Cluster by ID.
 *
 */
export declare const getKubernetesClusterDashboard: (clusterID: number) => Promise<KubernetesDashboardResponse>;
/** recycleClusterNodes
 *
 * Recycle all nodes in the target cluster (across all node pools)
 *
 */
export declare const recycleClusterNodes: (clusterID: number) => Promise<{}>;
/**
 * getKubernetesTypes
 *
 * Returns a paginated list of available Kubernetes types; used for dynamic pricing.
 */
export declare const getKubernetesTypes: (params?: Params) => Promise<Page<PriceType>>;
/**
 * getKubernetesTypesBeta
 *
 * Returns a paginated list of available Kubernetes types from beta API; used for dynamic pricing.
 */
export declare const getKubernetesTypesBeta: (params?: Params) => Promise<Page<PriceType>>;
/**
 * getKubernetesClusterControlPlaneACL
 *
 * Return control plane access list about a single Kubernetes cluster
 */
export declare const getKubernetesClusterControlPlaneACL: (clusterId: number) => Promise<KubernetesControlPlaneACLPayload>;
/**
 * updateKubernetesClusterControlPlaneACL
 *
 * Update an existing ACL from a single Kubernetes cluster.
 */
export declare const updateKubernetesClusterControlPlaneACL: (clusterID: number, data: Partial<KubernetesControlPlaneACLPayload>) => Promise<KubernetesControlPlaneACLPayload>;
//# sourceMappingURL=kubernetes.d.ts.map