/**
 * @packageDocumentation
 * @module api
 */
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { APIResourceItem, KubernetesResource } from '../core';
import { K8sResourceDefinition, K8sResourceDefinitions } from './types';
import * as i0 from "@angular/core";
export declare class K8sApiResourceService {
    private readonly http;
    private readonly resourceDefinitions;
    constructor(http: HttpClient, resourceDefinitions: K8sResourceDefinitions);
    private _listCaches;
    private _typeCaches;
    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>;
    static ɵfac: i0.ɵɵFactoryDeclaration<K8sApiResourceService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<K8sApiResourceService>;
}
