/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { PodStore } from "../workloads-pods/store";
import type { Deployment } from "@openlens/kube-object";
import type { KubeObjectStoreDependencies, KubeObjectStoreOptions } from "../../../common/k8s-api/kube-object.store";
import { KubeObjectStore } from "../../../common/k8s-api/kube-object.store";
import type { DeploymentApi } from "../../../common/k8s-api/endpoints";
export type DeploymentStatuses = {
    running: number;
    failed: number;
    pending: number;
};
export interface DeploymentStoreDependencies extends KubeObjectStoreDependencies {
    readonly podStore: PodStore;
}
export declare class DeploymentStore extends KubeObjectStore<Deployment, DeploymentApi> {
    protected readonly dependencies: DeploymentStoreDependencies;
    constructor(dependencies: DeploymentStoreDependencies, api: DeploymentApi, opts?: KubeObjectStoreOptions);
    protected sortItems(items: Deployment[]): Deployment[];
    getStatuses(deployments: Deployment[]): DeploymentStatuses;
    /**
     * @deprecated
     */
    getStatuses(deployments: Deployment[] | undefined): DeploymentStatuses;
    getChildPods(deployment: Deployment): import("@openlens/kube-object").Pod[];
}
