import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
import { Command as $Command } from "@aws-sdk/smithy-client";
import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
import { DeleteBucketReplicationRequest } from "../models/models_0";
import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
/**
* @public
*
* The input for {@link DeleteBucketReplicationCommand}.
*/
export interface DeleteBucketReplicationCommandInput extends DeleteBucketReplicationRequest {
}
/**
* @public
*
* The output of {@link DeleteBucketReplicationCommand}.
*/
export interface DeleteBucketReplicationCommandOutput extends __MetadataBearer {
}
/**
* @public
*
Deletes the replication configuration from the bucket.
* To use this operation, you must have permissions to perform the
* s3:PutReplicationConfiguration action. The bucket owner has these
* permissions by default and can grant it to others. For more information about permissions,
* see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3
* Resources.
*
* It can take a while for the deletion of a replication configuration to fully
* propagate.
*
* For information about replication configuration, see Replication in the Amazon S3 User Guide.
* The following operations are related to DeleteBucketReplication:
*
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
* import { S3Client, DeleteBucketReplicationCommand } from "@aws-sdk/client-s3"; // ES Modules import
* // const { S3Client, DeleteBucketReplicationCommand } = require("@aws-sdk/client-s3"); // CommonJS import
* const client = new S3Client(config);
* const input = { // DeleteBucketReplicationRequest
* Bucket: "STRING_VALUE", // required
* ExpectedBucketOwner: "STRING_VALUE",
* };
* const command = new DeleteBucketReplicationCommand(input);
* const response = await client.send(command);
* ```
*
* @param DeleteBucketReplicationCommandInput - {@link DeleteBucketReplicationCommandInput}
* @returns {@link DeleteBucketReplicationCommandOutput}
* @see {@link DeleteBucketReplicationCommandInput} for command's `input` shape.
* @see {@link DeleteBucketReplicationCommandOutput} for command's `response` shape.
* @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
*
*
* @example To delete bucket replication configuration
* ```javascript
* // The following example deletes replication configuration set on bucket.
* const input = {
* "Bucket": "example"
* };
* const command = new DeleteBucketReplicationCommand(input);
* await client.send(command);
* // example id: to-delete-bucket-replication-configuration-1483043684668
* ```
*
*/
export declare class DeleteBucketReplicationCommand extends $Command {
readonly input: DeleteBucketReplicationCommandInput;
static getEndpointParameterInstructions(): EndpointParameterInstructions;
/**
* @public
*/
constructor(input: DeleteBucketReplicationCommandInput);
/**
* @internal
*/
resolveMiddleware(clientStack: MiddlewareStack, configuration: S3ClientResolvedConfig, options?: __HttpHandlerOptions): Handler;
/**
* @internal
*/
private serialize;
/**
* @internal
*/
private deserialize;
}