import type { ICluster } from "../entities/Cluster";
import type { IQueryFilter, IQueryOptions, IQueryPagination } from "../interfaces";
import type { Ownership } from "../interfaces/SystemTypes";
import type { ClusterAuthOptions } from "../modules/k8s/cluster-auth";
import type { InstallStackOptions } from "../modules/k8s/stack-install";
import type { ContainerRegistrySecretOptions } from "../modules/registry/ContainerRegistrySecretOptions";
import BaseService from "./BaseService";
export declare class ClusterService extends BaseService<ICluster> {
    constructor(ownership?: Ownership);
    find(filter?: IQueryFilter<ICluster>, options?: IQueryOptions & IQueryPagination, pagination?: IQueryPagination): Promise<ICluster[]>;
    findAll(filter?: IQueryFilter<ICluster>, options?: IQueryOptions & IQueryPagination, pagination?: IQueryPagination): Promise<ICluster[]>;
    findOne(filter?: IQueryFilter<ICluster>, options?: IQueryOptions): Promise<ICluster>;
    update(filter: IQueryFilter<ICluster>, data: any, options?: IQueryOptions): Promise<ICluster[]>;
    updateOne(filter: IQueryFilter<ICluster>, data: any, options?: IQueryOptions): Promise<ICluster>;
    delete(filter?: IQueryFilter<ICluster>, options?: IQueryOptions): Promise<{
        ok: boolean;
        affected: number;
    }>;
    authCluster(cluster: ICluster, options?: ClusterAuthOptions): Promise<ICluster>;
    /**
     * Check if required stacks are installed within the cluster
     * @param cluster
     */
    checkStackInstalled(cluster: ICluster, options?: InstallStackOptions): Promise<boolean>;
    /**
     * Create "imagePullSecret" in a namespace of a cluster
     */
    createImagePullSecret(filter: IQueryFilter<any>, data: ContainerRegistrySecretOptions, options?: {
        isDebugging?: boolean;
    }): Promise<{
        name?: string;
        value?: string;
    }>;
}
//# sourceMappingURL=ClusterService.d.ts.map