export declare const IP_EITHER_BOTH_NOT_NEITHER = "A subnet must have either IPv4 or IPv6, or both, but not neither.";
export declare const determineIPType: (ip: string) => "ipv4" | "ipv6" | undefined;
/**
 * VPC-related IP validation that handles for single IPv4 and IPv6 addresses as well as
 * IPv4 ranges in CIDR format and IPv6 ranges with prefix lengths.
 * @param { value } - the IP address string to be validated
 * @param { shouldHaveIPMask } - a boolean indicating whether the value should have a mask (e.g., /32) or not
 * @param { mustBeIPMask } - a boolean indicating whether the value MUST be an IP mask/prefix length or not
 * @param { isIPv6Subnet } - a boolean indicating whether the IPv6 value is for a subnet
 * @param { checkIPv6PrefixLengthIs64 } – a boolean indicating whether the IPv6 value prefix length is 64 (for nested `range` fields in config/Linode interface objects)
 */
export declare const vpcsValidateIP: ({ value, shouldHaveIPMask, mustBeIPMask, checkIPv6PrefixLengthIs64, }: {
    checkIPv6PrefixLengthIs64?: boolean;
    isIPv6Subnet?: boolean;
    mustBeIPMask: boolean;
    shouldHaveIPMask: boolean;
    value: null | string | undefined;
}) => boolean;
export declare const updateVPCSchema: import("yup").ObjectSchema<{
    label: string | undefined;
    description: string | undefined;
}, import("yup").AnyObject, {
    label: undefined;
    description: undefined;
}, "">;
export declare const createSubnetSchemaIPv4: import("yup").ObjectSchema<{
    label: string;
    ipv4: string | undefined;
}, import("yup").AnyObject, {
    label: undefined;
    ipv4: undefined;
}, "">;
export declare const createSubnetSchemaWithIPv6: import("yup").ObjectSchema<{
    label: string;
    ipv4: string | undefined;
    ipv6: {
        range: string;
    }[] | undefined;
}, import("yup").AnyObject, {
    label: undefined;
    ipv4: undefined;
    ipv6: "";
}, "">;
export declare const createVPCSchema: import("yup").ObjectSchema<{
    label: string;
    description: string | undefined;
    region: string;
    subnets: {
        ipv4?: string | undefined;
        label: string;
    }[] | undefined;
    ipv6: {
        range?: string | undefined;
        allocation_class?: string | undefined;
    }[] | undefined;
}, import("yup").AnyObject, {
    label: undefined;
    description: undefined;
    region: undefined;
    subnets: "";
    ipv6: "";
}, "">;
export declare const modifySubnetSchema: import("yup").ObjectSchema<{
    label: string;
}, import("yup").AnyObject, {
    label: undefined;
}, "">;
//# sourceMappingURL=vpcs.schema.d.ts.map