/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
/// <reference types="lodash" />
import type { KubeObjectStoreDependencies, KubeObjectStoreOptions } from "../../../common/k8s-api/kube-object.store";
import { KubeObjectStore } from "../../../common/k8s-api/kube-object.store";
import type { Pod, PodMetrics, KubeObject, NamespaceScopedMetadata } from "@openlens/kube-object";
import type { PodApi, PodMetricsApi } from "../../../common/k8s-api/endpoints";
export interface PodStoreDependencies extends KubeObjectStoreDependencies {
    readonly podMetricsApi: PodMetricsApi;
}
export declare class PodStore extends KubeObjectStore<Pod, PodApi> {
    protected readonly dependencies: PodStoreDependencies;
    constructor(dependencies: PodStoreDependencies, api: PodApi, opts?: KubeObjectStoreOptions);
    readonly kubeMetrics: import("mobx").IObservableArray<PodMetrics>;
    loadKubeMetrics(namespace?: string): Promise<void>;
    getPodsByOwner(workload: KubeObject<NamespaceScopedMetadata, unknown, unknown>): Pod[];
    getPodsByOwnerId(workloadId: string): Pod[];
    getPodsByNode(node: string): Pod[];
    getStatuses(pods: Pod[]): import("lodash").Dictionary<number>;
    getPodKubeMetrics(pod: Pod): {
        cpu: number;
        memory: number;
    };
}
