import type { ICluster } from "../../entities";
import type { Ownership } from "../../interfaces/SystemTypes";
export interface ClusterAuthOptions {
    ownership: Ownership;
    /**
     * Flag to switch to this cluster after finishing authentication
     * @default true
     */
    shouldSwitchContextToThisCluster?: boolean;
    /**
     * Debugging flag
     * @default false
     */
    isDebugging?: boolean;
}
export declare const switchContext: (context: string) => Promise<boolean>;
export declare const switchContextToCluster: (clusterSlug: string, providerShortName?: string) => Promise<boolean>;
/**
 * Authenticate current machine with the K8S cluster by its short name (context-name).
 */
export declare const authCluster: (cluster: ICluster, options: ClusterAuthOptions) => Promise<ICluster>;
/**
 * Authenticate current machine with the K8S cluster by its short name (context-name).
 * @param clusterSlug - A cluster name on the cloud provider (**NOT** a cluster in `kubeconfig`)
 */
export declare const authClusterBySlug: (clusterSlug: string, options: ClusterAuthOptions) => Promise<ICluster>;
export default authCluster;
//# sourceMappingURL=cluster-auth.d.ts.map