import { aws_ec2 as ec2 } from 'aws-cdk-lib';
import * as constructs from 'constructs';
/**
* Properties for obtaining an IPAM assigned address pair for use on IPsec VPN Tunnels.
*/
export interface GetTunnelAddressPairProps {
    /** The IPAM Pool Id from which the assginment will be made from  */
    readonly ipamPoolId: string;
    /** The Name used by IPAM to record the allocation  */
    readonly name: string;
}
/**
 * Allocate a pair of /30 networks CIDRS for use in Ipsec VPN Tunnels
 */
export declare class GetTunnelAddressPair extends constructs.Construct {
    /**
       * returns 2 cidr blocks as an array to be used by an IPsec Tunnel
       */
    readonly assignedCidrPair: string[];
    /**
       *
       * @param scope scope in which this resource is created
       * @param id scope id of the resoruce
       * @param props resource properties
       */
    constructor(scope: constructs.Construct, id: string, props: GetTunnelAddressPairProps);
}
/**
 * Properties for defining a IPAM Pool specifically for IPSec VPN Tunnels
 */
export interface IpsecTunnelPoolProps {
    /** The IPAM Scope Id to use to create the Pool */
    readonly ipamScopeId: string;
    /** The Cidr range for pools to be created from
       *      eg, 169.254.100.0/27
       * The cidr must be in the 169.254.0.0/16 range and
       * must be a minimum of a /29 and a maximum of /24.
       *
       * It must also not overlap the AWS reserved ranges. T
       */
    readonly cidr: string;
    /** the name used by IPAM to identify the pool */
    readonly name: string;
    /** the description used by IPAM to describe the pool */
    readonly description: string;
}
/**
 * Creates an IPAM pool to assign address's for IPsec VPNS
 */
export declare class IpsecTunnelPool extends constructs.Construct {
    /**
       * returns the created ipam Pool
       */
    readonly ipampool: ec2.CfnIPAMPool;
    /**
       *
       * @param scope scope in which this resource is defined
       * @param id id of the resource
       * @param props resource properties
       */
    constructor(scope: constructs.Construct, id: string, props: IpsecTunnelPoolProps);
}
