import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type EIPAttributes = {
    PublicIp: Attribute<string>;
    AllocationId: Attribute<string>;
};
export type EIP = AwsResource<'AWS::EC2::EIP', EIPProperties, EIPAttributes>;
/**
  Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html">the AWS Docs</a>
*/
export declare function eIP(eIPProps?: EIPProperties): EIP;
/**
  Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html">the AWS Docs</a>
*/
export interface EIPProperties {
    /** <code>InstanceId</code>  <a name="cfn-ec2-eip-instanceid"></a>
  The ID of the instance.<br />
  Updates to the <code>InstanceId</code> property may require
  some interruptions: Updates on an EIP reassociates the address on its associated resource.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    instanceId?: Value<string>;
    /** <code>PublicIpv4Pool</code>  <a name="cfn-ec2-eip-publicipv4pool"></a>
  The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.<br />
  Updates to the <code>PublicIpv4Pool</code> property may require
  some interruptions: Updates on an EIP reassociates the address on its associated resource.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    publicIpv4Pool?: Value<string>;
    /** <code>TransferAddress</code>  <a name="cfn-ec2-eip-transferaddress"></a>
  The Elastic IP address you are accepting for transfer. You can only accept one transferred address. For more information on Elastic IP address transfers, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro">Transfer Elastic IP addresses</a> in the
  Amazon Virtual Private Cloud User Guide: br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    transferAddress?: Value<string>;
    /** <code>Domain</code>  <a name="cfn-ec2-eip-domain"></a>
  The network (<code>vpc</code>).<br />
  If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html"> DependsOn Attribute</a> on this resource.<br />
  
  Required: No<br />
  
  Allowed values: <code>standard | vpc</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    domain?: Value<'standard' | 'vpc'>;
    /** <code>Tags</code>  <a name="cfn-ec2-eip-tags"></a>
  Any tags assigned to the Elastic IP address.<br />
  Updates to the <code>Tags</code> property may require
  some interruptions: Updates on an EIP reassociates the address on its associated resource.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
    /** <code>NetworkBorderGroup</code>  <a name="cfn-ec2-eip-networkbordergroup"></a>
  A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.<br />
  Use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html">DescribeAvailabilityZones</a> to view the network border groups.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    networkBorderGroup?: Value<string>;
}
