import type { ICluster } from "../entities";
import * as entities from "../entities";
import * as interfaces from "../interfaces";
import { ContainerRegistrySecretOptions } from "../modules/registry/ContainerRegistrySecretOptions";
import { ClusterService } from "../services/ClusterService";
import BaseController from "./BaseController";
export default class ClusterController extends BaseController<ICluster, ClusterService> {
    constructor();
    /**
     * List of K8S clusters of a workspace
     */
    read(queryParams?: interfaces.IGetQueryParams): Promise<interfaces.ResponseData>;
    /**
     * List of K8S clusters (include system default clusters)
     */
    readAll(queryParams?: interfaces.IGetQueryParams): Promise<interfaces.ResponseData>;
    create(body: entities.ClusterDto, queryParams?: interfaces.IPostQueryParams): Promise<interfaces.ResponseData>;
    update(body: entities.ClusterDto, queryParams?: interfaces.IPostQueryParams): Promise<interfaces.ResponseData & interfaces.IResponsePagination>;
    delete(queryParams?: interfaces.IDeleteQueryParams): Promise<interfaces.ResponseData>;
    /**
     * Verify this cluster accessibility, then switch the current context to this cluster
     * - Similar to `/verify`
     */
    connect(queryParams?: {
        _id: string;
        slug: string;
    }): Promise<interfaces.ResponseData>;
    /**
     * Verify this cluster accessibility, **won't** switch the current context to this cluster
     * - Similar to `/connect`
     */
    verify(queryParams?: {
        _id: string;
        slug: string;
    }): Promise<interfaces.ResponseData>;
    createImagePullSecret(body: ContainerRegistrySecretOptions): Promise<interfaces.ResponseData>;
}
//# sourceMappingURL=ClusterController.d.ts.map