import { Value } from '../../cloudformation/Value';
import { FailedReasonProps } from './endpoint/FailedReasonProps';
import { NetworkInterfaceProps } from './endpoint/NetworkInterfaceProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type EndpointAttributes = {
    Status: Attribute<string>;
    NetworkInterfaces: Attribute<NetworkInterfaceProps[]>;
    CreationTime: Attribute<string>;
    CidrBlock: Attribute<string>;
    Id: Attribute<string>;
    Arn: Attribute<string>;
};
export type Endpoint = AwsResource<'AWS::S3Outposts::Endpoint', EndpointProperties, EndpointAttributes>;
/**
  This AWS::S3Outposts::Endpoint resource specifies an endpoint and associates it with the specified Outpost.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html">the AWS Docs</a>
*/
export declare function endpoint(endpointProps: EndpointProperties): Endpoint;
/**
  This AWS::S3Outposts::Endpoint resource specifies an endpoint and associates it with the specified Outpost.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html">the AWS Docs</a>
*/
export interface EndpointProperties {
    /** <code>OutpostId</code>  <a name="cfn-s3outposts-endpoint-outpostid"></a>
  The ID of the Outpost.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    outpostId: Value<string>;
    /** <code>SecurityGroupId</code>  <a name="cfn-s3outposts-endpoint-securitygroupid"></a>
  The ID of the security group to use with the endpoint.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    securityGroupId: Value<string>;
    /** <code>FailedReason</code>  <a name="cfn-s3outposts-endpoint-failedreason"></a>
  Property description not available.<br />
  
  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> */
    failedReason?: FailedReasonProps;
    /** <code>SubnetId</code>  <a name="cfn-s3outposts-endpoint-subnetid"></a>
  The ID of the subnet.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    subnetId: Value<string>;
    /** <code>AccessType</code>  <a name="cfn-s3outposts-endpoint-accesstype"></a>
  The container for the type of connectivity used to access the Amazon S3 on Outposts endpoint. To use the Amazon VPC, choose <code>Private</code>. To use the endpoint with an on-premises network, choose <code>CustomerOwnedIp</code>. If you choose <code>CustomerOwnedIp</code>, you must also provide the customer-owned IP address pool (CoIP pool).<br />
  <code>Private</code> is the default access type value.
  
  Required: No<br />
  
  Allowed values: <code>CustomerOwnedIp | Private</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> */
    accessType?: Value<'CustomerOwnedIp' | 'Private'>;
    /** <code>CustomerOwnedIpv4Pool</code>  <a name="cfn-s3outposts-endpoint-customerownedipv4pool"></a>
  The ID of the customer-owned IPv4 address pool (CoIP pool) for the endpoint. IP addresses are allocated from this pool for the endpoint.<br />
  
  Required: No<br />
  
  Pattern: <code>^ipv4pool-coip-([0-9a-f]{17})$</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> */
    customerOwnedIpv4Pool?: Value<string>;
}
