import { TFunction } from 'i18next';
import type { Host, Cluster, Inventory } from '@openshift-assisted/types/assisted-installer-service';
import { Validation, ValidationsInfo as HostValidationsInfo } from '../../types/hosts';
export declare const canEnable: (clusterStatus: Cluster["status"], status: Host["status"]) => boolean;
export declare const canDisable: (clusterStatus: Cluster["status"], status: Host["status"]) => boolean;
export declare const canDelete: (clusterStatus: Cluster["status"], status: Host["status"]) => boolean;
export declare const canReset: (clusterStatus: Cluster["status"], status: Host["status"]) => boolean;
export declare const canEditHost: (clusterStatus: Cluster["status"], status: Host["status"]) => boolean;
export declare const canEditRole: (clusterStatus: Cluster["status"], status: Host["status"], isSNO?: boolean) => boolean;
export declare const canEditHostname: (clusterStatus: Cluster["status"], host?: Host) => boolean;
export declare const canEditDisks: (clusterStatus: Cluster["status"], status: Host["status"]) => boolean;
export declare const canDownloadKubeconfig: (clusterStatus: Cluster["status"]) => boolean;
export declare const canInstallHost: (cluster: Cluster, hostStatus: Host["status"]) => boolean;
export declare const getHostStatus: (hostStatus: Host["status"], clusterStatus: Cluster["status"]) => Host["status"] | "finalizing";
export declare const canOpenConsole: (clusterStatus: Cluster["status"]) => boolean;
export declare const getHostProgressStages: (host: Host) => import("@openshift-assisted/types/assisted-installer-service").HostStage[];
export declare const getHostProgress: (host: Host) => import("@openshift-assisted/types/assisted-installer-service").HostProgressInfo | {
    currentStage: string;
    progressInfo: undefined;
    installationPercentage: undefined;
};
export declare const getHostProgressStageNumber: (host: Host) => number;
export declare const canHostnameBeChanged: (hostStatus: Host["status"]) => boolean;
export declare const getHostRole: (host: Host, t: TFunction, schedulableMasters?: boolean, clusterKind?: Cluster["kind"]) => string;
export declare const canDownloadHostLogs: (host: Host) => boolean;
export declare const canDownloadClusterLogs: (cluster: Cluster) => boolean;
export declare const getReadyHostCount: (cluster: Cluster) => number;
export declare const getEnabledHostCount: (cluster: Cluster) => number;
export declare const getTotalHostCount: (cluster: Cluster) => number;
export declare const getEnabledHosts: (hosts?: Host[]) => Host[];
export declare const getHostname: (host: Host, inventory: Inventory) => string;
export declare const getHardwareTypeText: (inventory: Inventory, t: TFunction) => string;
export declare const getInventory: (host: Host) => Inventory;
export declare const getHostLabels: (host: Host) => {
    [key: string]: string;
};
export declare const filterByHostname: (hosts: Host[], hostnameFilter: string | undefined) => {
    hosts: Host[];
    sorted: boolean;
};
export declare const getFailingHostValidations: (validationsInfo: HostValidationsInfo) => Validation[];
export declare const areOnlySoftValidationsFailing: (validationsInfo: HostValidationsInfo) => boolean;
//# sourceMappingURL=utils.d.ts.map