import { KubernetesApi } from './types';
import { KubernetesRequestBody, ObjectsByEntityResponse, WorkloadsByEntityRequest, CustomObjectsByEntityRequest } from '@backstage/plugin-kubernetes-common';
import { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api';
import { KubernetesAuthProvidersApi } from '../kubernetes-auth-provider';
/** @public */
export declare class KubernetesBackendClient implements KubernetesApi {
    private readonly discoveryApi;
    private readonly fetchApi;
    private readonly kubernetesAuthProvidersApi;
    constructor(options: {
        discoveryApi: DiscoveryApi;
        fetchApi: FetchApi;
        kubernetesAuthProvidersApi: KubernetesAuthProvidersApi;
    });
    private handleResponse;
    private postRequired;
    getCluster(clusterName: string): Promise<{
        name: string;
        authProvider: string;
        oidcTokenProvider?: string;
    }>;
    private getCredentials;
    getObjectsByEntity(requestBody: KubernetesRequestBody): Promise<ObjectsByEntityResponse>;
    getWorkloadsByEntity(request: WorkloadsByEntityRequest): Promise<ObjectsByEntityResponse>;
    getCustomObjectsByEntity(request: CustomObjectsByEntityRequest): Promise<ObjectsByEntityResponse>;
    getClusters(): Promise<{
        name: string;
        authProvider: string;
    }[]>;
    proxy(options: {
        clusterName: string;
        path: string;
        init?: RequestInit;
    }): Promise<Response>;
    private static getKubernetesHeaders;
    private static getKubernetesAuthHeaderByAuthProvider;
}
