import type { KubeApiConstructor } from "./create-kube-api-for-remote-cluster.injectable";
import { KubeApi } from "./kube-api";
import type { KubeJsonApiDataFor, KubeObject, KubeObjectConstructor } from "@openlens/kube-object";
export interface CreateKubeApiForLocalClusterConfig {
    metadata: {
        uid: string;
    };
}
export interface CreateKubeApiForCluster {
    <Object extends KubeObject, Api extends KubeApi<Object>, Data extends KubeJsonApiDataFor<Object>>(cluster: CreateKubeApiForLocalClusterConfig, kubeClass: KubeObjectConstructor<Object, Data>, apiClass: KubeApiConstructor<Object, Api>): Api;
    <Object extends KubeObject, Data extends KubeJsonApiDataFor<Object>>(cluster: CreateKubeApiForLocalClusterConfig, kubeClass: KubeObjectConstructor<Object, Data>, apiClass?: KubeApiConstructor<Object, KubeApi<Object>>): KubeApi<Object>;
}
declare const createKubeApiForClusterInjectable: import("@ogre-tools/injectable").Injectable<CreateKubeApiForCluster, unknown, void>;
export default createKubeApiForClusterInjectable;
