import { IKubernetesRESTClient } from "./client";
import { APIExtensionsAPI, AppsAPI, AutoscalingAPI, BatchAPI, CoreAPI, ExtensionsAPI, PolicyAPI, RBACAPI } from "./apis";
import { Registry } from "prom-client";
import { CertificatesAPI } from "./apis/certificates";
import { AdmissionRegistrationAPI } from "./apis/admissionregistration";
export interface IKubernetesAPI {
    extend<C>(name: string, customResourceAPI: C): this & C;
    admissionRegistration(): AdmissionRegistrationAPI;
    apiextensions(): APIExtensionsAPI;
    certificates(): CertificatesAPI;
    core(): CoreAPI;
    apps(): AppsAPI;
    batch(): BatchAPI;
    extensions(): ExtensionsAPI;
    rbac(): RBACAPI;
    policy(): PolicyAPI;
    autoscaling(): AutoscalingAPI;
}
export declare class KubernetesAPI implements IKubernetesAPI {
    private readonly restClient;
    private readonly registry;
    constructor(restClient: IKubernetesRESTClient, registry?: Registry);
    private nc;
    private c;
    extend<C>(name: string, customResourceAPI: C): this & C;
    admissionRegistration(): AdmissionRegistrationAPI;
    apiextensions(): APIExtensionsAPI;
    certificates(): CertificatesAPI;
    core(): CoreAPI;
    apps(): AppsAPI;
    batch(): BatchAPI;
    extensions(): ExtensionsAPI;
    rbac(): RBACAPI;
    policy(): PolicyAPI;
    autoscaling(): AutoscalingAPI;
}
