import { Value } from '../../cloudformation/Value';
import { PublicAccessBlockConfigurationProps } from './accesspoint/PublicAccessBlockConfigurationProps';
import { VpcConfigurationProps } from './accesspoint/VpcConfigurationProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type AccessPointAttributes = {
    Alias: Attribute<string>;
    Arn: Attribute<string>;
    NetworkOrigin: Attribute<string>;
    Name: Attribute<string>;
};
export type AccessPoint = AwsResource<'AWS::S3::AccessPoint', AccessPointProperties, AccessPointAttributes>;
/**
  The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html">the AWS Docs</a>
*/
export declare function accessPoint(accessPointProps: AccessPointProperties): AccessPoint;
/**
  The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html">the AWS Docs</a>
*/
export interface AccessPointProperties {
    /** <code>Policy</code>  <a name="cfn-s3-accesspoint-policy"></a>
  The access point policy associated with this access point.<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> */
    policy?: Value<any>;
    /** <code>PublicAccessBlockConfiguration</code>  <a name="cfn-s3-accesspoint-publicaccessblockconfiguration"></a>
  The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The Meaning of “Public”</a> in the
  Amazon S3 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-no-interrupt">No interruption</a> */
    publicAccessBlockConfiguration?: PublicAccessBlockConfigurationProps;
    /** <code>Bucket</code>  <a name="cfn-s3-accesspoint-bucket"></a>
  The name of the bucket associated with this access point.<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> */
    bucket: Value<string>;
    /** <code>BucketAccountId</code>  <a name="cfn-s3-accesspoint-bucketaccountid"></a>
  The AWS account ID associated with the S3 bucket associated with this access point.<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> */
    bucketAccountId?: Value<string>;
    /** <code>VpcConfiguration</code>  <a name="cfn-s3-accesspoint-vpcconfiguration"></a>
  The Virtual Private Cloud (VPC) configuration for this access point, if one exists.<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> */
    vpcConfiguration?: VpcConfigurationProps;
    /** <code>Name</code>  <a name="cfn-s3-accesspoint-name"></a>
  The name of this access point. If you don’t specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.<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> */
    name?: Value<string>;
}
