import { GenericStatusColor, GenericStatusIcon } from '../constants/status-icons';
import { DaemonSet, Deployment, Job, Pod, StatefulSet } from '../types/k8s/raw';
export type Workload = Deployment | StatefulSet | DaemonSet;
export declare enum WorkloadKind {
    Deployment = "Deployment",
    StatefulSet = "StatefulSet",
    DaemonSet = "DaemonSet"
}
export declare enum JobStatusEnum {
    EXECUTING = "executing",
    EXECUTE_SUCCEEDED = "execute_succeeded",
    EXECUTE_FAILED = "execute_failed",
    UNKNOWN = "unknown"
}
export declare const JobStatusColorMapper: {
    executing: GenericStatusColor;
    execute_succeeded: GenericStatusColor;
    execute_failed: GenericStatusColor;
    unknown: GenericStatusColor;
};
export declare const JobStatusIconMapper: {
    executing: GenericStatusIcon;
    execute_succeeded: GenericStatusIcon;
    execute_failed: GenericStatusIcon;
    unknown: GenericStatusIcon;
};
export declare enum WorkloadStatusEnum {
    running = "running",
    stopped = "stopped",
    pending = "pending",
    killed = "killed"
}
export interface GenericWorkloadStatus {
    status?: WorkloadStatusEnum;
    desired?: number;
    current?: number;
}
export interface WorkloadStatus extends GenericWorkloadStatus {
    name?: string;
    group?: string;
    kind?: string;
    messages?: Array<{
        message: string;
        reason?: string;
    }>;
}
export declare const WorkloadStatusColorMapper: {
    running: GenericStatusColor;
    pending: GenericStatusColor;
    stopped: GenericStatusColor;
    killed: GenericStatusColor;
};
export declare const WorkloadStatusIconMapper: {
    running: GenericStatusIcon;
    pending: GenericStatusIcon;
    stopped: GenericStatusIcon;
    killed: GenericStatusIcon;
};
export declare const STATUS = "status";
export declare function parseDeploymentStatus(res: Deployment): WorkloadStatusEnum.running | WorkloadStatusEnum.stopped | WorkloadStatusEnum.pending;
export declare function parseDaemonSetStatus(res: DaemonSet): WorkloadStatusEnum.running | WorkloadStatusEnum.stopped | WorkloadStatusEnum.pending;
export declare function parseStatefulSetStatus(res: StatefulSet): WorkloadStatusEnum.running | WorkloadStatusEnum.stopped | WorkloadStatusEnum.pending;
export declare function parseToWorkloadStatus(data: Deployment): GenericWorkloadStatus;
export declare function getJobStatus(data: Job): JobStatusEnum;
export declare function getWorkloadStatus(status: GenericWorkloadStatus): WorkloadStatusEnum;
export declare function getPodIPs(pod: Pod): string[];
