/// <reference types="node" />
import { CoreV1Api, AppsV1Api, ExtensionsV1beta1Api } from "@kubernetes/client-node";
import http = require('http');
export declare class KubeUtil {
    CoreV1Api: CoreV1Api;
    AppsV1Api: AppsV1Api;
    ExtensionsV1beta1Api: ExtensionsV1beta1Api;
    Metricsv1beta1Api: Metricsv1beta1Api;
    private static _instance;
    static instance(): KubeUtil;
    constructor();
    GetStatefulSet(namespace: any, name: any): Promise<import("@kubernetes/client-node").V1StatefulSet>;
    GetService(namespace: any, name: any): Promise<import("@kubernetes/client-node").V1Service>;
    GetPod(namespace: any, name: any): Promise<import("@kubernetes/client-node").V1Pod>;
    GetReplicaset(namespace: any, labelskey: any, labelsvalue: any): Promise<import("@kubernetes/client-node").V1ReplicaSet>;
    GetDeployment(namespace: any, name: any): Promise<import("@kubernetes/client-node").V1Deployment>;
    GetIngressV1beta1(namespace: any, name: any): Promise<import("@kubernetes/client-node").ExtensionsV1beta1Ingress>;
    GetPodMetrics(namespace: any, name: any): Promise<PodMetricUsage>;
}
export declare class Metricsv1beta1Api {
    private _basePath;
    private authentications;
    private _useQuerystring;
    private defaultHeaders;
    constructor(basePathOrUsername: any, password: any, basePath: any);
    set useQuerystring(value: any);
    set basePath(basePath: string);
    get basePath(): string;
    setDefaultAuthentication(auth: any): void;
    GetPods(namespace: any): Promise<unknown>;
    GetPod(namespace: string, pod: string): Promise<{
        response: http.IncomingMessage;
        body: PodMetrics;
    }>;
}
export declare class PodMetrics {
    name: string;
    containers: PodMetric[];
    timestamp: Date;
    window: string;
    metadata: any;
}
export declare class PodMetric {
    name: string;
    usage: PodMetricUsage;
}
export declare class PodMetricUsage {
    cpu: string;
    memory: string;
    window: string;
}
export declare class PodMetricsListReference {
    static discriminator: any;
    static attributeTypeMap: {
        name: string;
        baseName: string;
        type: string;
    }[];
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
}
export declare class PodMetricReference {
    static discriminator: any;
    static attributeTypeMap: {
        name: string;
        baseName: string;
        type: string;
    }[];
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
}
export declare class PodMetricContainerReference {
    static discriminator: any;
    static attributeTypeMap: {
        name: string;
        baseName: string;
        type: string;
    }[];
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
}
export declare class PodMetricContainerUsageReference {
    static discriminator: any;
    static attributeTypeMap: {
        name: string;
        baseName: string;
        type: string;
    }[];
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
}
