/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { KubeObjectStoreDependencies, KubeObjectStoreOptions } from "../../../common/k8s-api/kube-object.store";
import { KubeObjectStore } from "../../../common/k8s-api/kube-object.store";
import type { JobApi } from "../../../common/k8s-api/endpoints/job.api";
import type { CronJob, Job, Pod } from "@openlens/kube-object";
import type { GetPodsByOwnerId } from "../workloads-pods/get-pods-by-owner-id.injectable";
interface Dependencies extends KubeObjectStoreDependencies {
    getPodsByOwnerId: GetPodsByOwnerId;
}
export declare class JobStore extends KubeObjectStore<Job, JobApi> {
    protected readonly dependencies: Dependencies;
    constructor(dependencies: Dependencies, api: JobApi, opts?: KubeObjectStoreOptions);
    /**
     * @deprecated Switch to using `getPodsByOwnerId` directly
     */
    getChildPods(job: Job): Pod[];
    getJobsByOwner(cronJob: CronJob): Job[];
    getStatuses(jobs?: Job[]): {
        succeeded: number;
        running: number;
        failed: number;
        pending: number;
    };
}
export {};
