import { Address4, Address6 } from 'ip-address';
import { TFunction } from 'i18next';
import { Cluster, ClusterDefaultConfig, ClusterNetwork, ServiceNetwork } from '@openshift-assisted/types/assisted-installer-service';
import { ClusterCpuArchitecture, HostDiscoveryValues, HostSubnets, OpenshiftVersionOptionType, StorageValues, Validation, ValidationGroup, ValidationsInfo, WithRequired } from '../../types';
type VersionConfig = WithRequired<Pick<Cluster, 'openshiftVersion'>, 'openshiftVersion'> & {
    cpuArchitecture?: ClusterCpuArchitecture;
    versions?: OpenshiftVersionOptionType[];
    withPreviewText?: boolean;
    withMultiText?: boolean;
};
export declare const getOpenshiftVersionText: (params: VersionConfig) => string;
export declare const getSubnet: (cidr: string) => Address6 | Address4 | null;
export declare const getHumanizedSubnetRange: (subnet: Address6 | Address4 | null) => string;
export declare const getHumanizedSubnet: (subnet: Address6 | Address4 | null) => string;
export declare const getHostSubnets: (cluster: Cluster, addInvalidNetworks?: boolean) => HostSubnets;
export declare const getSubnetFromMachineNetworkCidr: (machineNetworkCidr?: string) => string | undefined;
export declare const serviceNetworksEqual: (array1: ServiceNetwork[], array2: ServiceNetwork[]) => boolean;
export declare const clusterNetworksEqual: (array1: ClusterNetwork[], array2: ClusterNetwork[]) => boolean;
export declare const isAdvNetworkConf: (cluster: Cluster, defaultNetworkValues: Pick<ClusterDefaultConfig, "clusterNetworksIpv4" | "clusterNetworksDualstack" | "serviceNetworksIpv4" | "serviceNetworksDualstack">) => boolean;
export declare const canSelectNetworkTypeSDN: (isSNO: boolean, isIPv6: boolean) => boolean;
export declare const canBeDualStack: (subnets: HostSubnets) => boolean;
export declare const isDualStack: ({ machineNetworks, clusterNetworks, serviceNetworks, openshiftVersion, }: Pick<Cluster, "machineNetworks" | "clusterNetworks" | "serviceNetworks" | "openshiftVersion">) => boolean;
export declare const isSubnetInIPv6: ({ clusterNetworkCidr, machineNetworkCidr, serviceNetworkCidr, }: Pick<Cluster, "clusterNetworkCidr" | "machineNetworkCidr" | "serviceNetworkCidr">) => boolean;
export declare const getHostDiscoveryInitialValues: (cluster: Cluster) => HostDiscoveryValues;
export declare const getStorageInitialValues: () => StorageValues;
export declare function filterValidationsInfoByGroup(validationsInfo: ValidationsInfo, selectedGroups?: ValidationGroup[]): ValidationsInfo;
export declare function filterValidationsInfoByStatus(validationsInfo: ValidationsInfo, selectedStatuses?: Validation['status'][]): ValidationsInfo;
export declare const getVipValidationsById: (t: TFunction, validationsInfoString?: Cluster["validationsInfo"]) => {
    [key: string]: string | undefined;
};
export {};
//# sourceMappingURL=utils.d.ts.map