import { Value } from '../../cloudformation/Value';
import { AccessRulesProps } from './bucket/AccessRulesProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type BucketAttributes = {
    BucketArn: Attribute<string>;
    AbleToUpdateBundle: Attribute<boolean>;
    Url: Attribute<string>;
};
export type Bucket = AwsResource<'AWS::Lightsail::Bucket', BucketProperties, BucketAttributes>;
/**
  The <code>AWS::Lightsail::Bucket</code> resource specifies a bucket.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html">the AWS Docs</a>
*/
export declare function bucket(bucketProps: BucketProperties): Bucket;
/**
  The <code>AWS::Lightsail::Bucket</code> resource specifies a bucket.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html">the AWS Docs</a>
*/
export interface BucketProperties {
    /** <p> */
    objectVersioning?: Value<boolean>;
    /** <code>ReadOnlyAccessAccounts</code>  <a name="cfn-lightsail-bucket-readonlyaccessaccounts"></a>
  An array of AWS account IDs that have read-only access to the bucket.<br />
  
  Required: No<br />
  
  Maximum: <code>10</code><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> */
    readOnlyAccessAccounts?: Value<Value<string>[]>;
    /** <code>BundleId</code>  <a name="cfn-lightsail-bucket-bundleid"></a>
  The bundle ID for the bucket (for example, <code>small_1_0</code>).<br />
  A bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.<br />
  
  Required: Yes<br />
  
  Pattern: <code>.*\S.*</code><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> */
    bundleId: Value<string>;
    /** <code>BucketName</code>  <a name="cfn-lightsail-bucket-bucketname"></a>
  The name of the bucket.<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> */
    bucketName: Value<string>;
    /** <code>AccessRules</code>  <a name="cfn-lightsail-bucket-accessrules"></a>
  An object that describes the access rules for the bucket.<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> */
    accessRules?: AccessRulesProps;
    /** <code>ResourcesReceivingAccess</code>  <a name="cfn-lightsail-bucket-resourcesreceivingaccess"></a>
  An array of Lightsail instances that have access to the bucket.<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> */
    resourcesReceivingAccess?: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-lightsail-bucket-tags"></a>
  An array of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a> in the
  AWS CloudFormation User Guide: br />
  The <code>Value</code> of <code>Tags</code> is optional for Lightsail resources.
  
  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[];
}
