import { FormikErrors, FormikTouched } from 'formik';
import * as Yup from 'yup';
import { Address4, Address6 } from 'ip-address';
import { OpenshiftVersionOptionType } from '../../../types';
import { ClusterNetwork, MachineNetwork, ServiceNetwork } from '@openshift-assisted/types/assisted-installer-service';
export declare const getFieldId: (fieldName: string, fieldType: string, unique?: string) => string;
export declare const trimSshPublicKey: (key: string) => string;
export declare const trimCommaSeparatedList: (list: string) => string;
export declare const getFormikErrorFields: <FormikValues>(errors: FormikErrors<FormikValues>, touched: FormikTouched<FormikValues>) => (keyof FormikValues)[];
export declare const getDefaultOpenShiftVersion: (versions: OpenshiftVersionOptionType[]) => string;
export declare const parseStringLabels: (strValues: string[]) => { [key in string]: string; };
type FieldErrors = {
    [key: string]: string[];
};
export declare const getDuplicates: (list: string[]) => string[];
export declare const getRichTextValidation: <T extends object>(schema: Yup.ObjectSchema<T> | Yup.Lazy<T>) => (values: T) => Promise<FieldErrors | undefined>;
export declare const getFormikArrayItemFieldName: (arrayFieldName: string, idx: number) => string;
export declare const getFormikObjectItemFieldName: (objectFieldName: string, idx: number) => string;
export declare const allSubnetsIPv4: (networks: (MachineNetwork | ClusterNetwork | ServiceNetwork)[] | undefined) => boolean;
export declare const allSubnetsIPv6: (networks: (MachineNetwork | ClusterNetwork | ServiceNetwork)[] | undefined) => boolean;
export declare const labelsToArray: (labels?: { [key in string]: string; }) => string[];
export declare const getAddress: (addr: string) => Address4 | Address6 | undefined;
export {};
//# sourceMappingURL=utils.d.ts.map