import { Address6 } from 'ip-address';
import * as Yup from 'yup';
import { ProtocolVersion } from './data/dataTypes';
export type UniqueStringArrayExtractor<FormValues> = (values: FormValues, context: Yup.TestContext, value: string) => string[] | undefined;
export declare const getUniqueValidationSchema: <FormValues>(uniqueStringArrayExtractor: UniqueStringArrayExtractor<FormValues>) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
export declare const getIpAddressValidationSchema: (protocolVersion: ProtocolVersion) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
export declare const getMultipleIpAddressValidationSchema: (protocolVersion?: ProtocolVersion) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
export declare const isReservedIpv6Address: (ipv6Address: Address6) => boolean;
export declare const isNotReservedHostIPAddress: (protocolVersion?: ProtocolVersion) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
export declare const isNotReservedHostDNSAddress: (protocolVersion?: ProtocolVersion) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
export declare const getIpAddressInSubnetValidationSchema: (protocolVersion: ProtocolVersion, subnet: string) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
export declare const getIpIsNotNetworkOrBroadcastAddressSchema: (protocolVersion: ProtocolVersion, subnet: string) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
//# sourceMappingURL=commonValidationSchemas.d.ts.map