/**
 * @packageDocumentation
 * @module api
 */
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { APIResourceItem, KubernetesResource } from '../types/k8s';
import { StringMap } from '../types/public-api';
import { K8sResourceDefinition, K8sResourceDefinitions } from './types';
export declare class K8sApiResourceService {
    private readonly http;
    private readonly resourceApiPrefixes;
    private readonly resourceDefinitions;
    constructor(http: HttpClient, resourceApiPrefixes: StringMap, resourceDefinitions: K8sResourceDefinitions);
    getDefinition(typeOrDefinition: string | K8sResourceDefinition): Required<K8sResourceDefinition>;
    getApiPath({ cluster, namespace, name, type, apiGroup, apiVersion, }: {
        cluster?: string;
        namespace?: string;
        name?: string;
        type?: string;
        apiGroup?: string;
        apiVersion?: string;
    }): string;
    getResourceList<T extends KubernetesResource>(resource: T, cluster: string): Observable<APIResourceItem[]>;
    getResourceType<T extends KubernetesResource>(resource: T, cluster: string): Observable<string>;
}
