import { type WaiterResult } from "@smithy/core/client";
import type { HttpHandlerOptions as __HttpHandlerOptions, PaginationConfiguration, Paginator, WaiterConfiguration } from "@smithy/types";
import { type AbortMultipartUploadCommandInput, type AbortMultipartUploadCommandOutput } from "./commands/AbortMultipartUploadCommand";
import { type CompleteMultipartUploadCommandInput, type CompleteMultipartUploadCommandOutput } from "./commands/CompleteMultipartUploadCommand";
import { type CopyObjectCommandInput, type CopyObjectCommandOutput } from "./commands/CopyObjectCommand";
import { type CreateBucketCommandInput, type CreateBucketCommandOutput } from "./commands/CreateBucketCommand";
import { type CreateBucketMetadataConfigurationCommandInput, type CreateBucketMetadataConfigurationCommandOutput } from "./commands/CreateBucketMetadataConfigurationCommand";
import { type CreateBucketMetadataTableConfigurationCommandInput, type CreateBucketMetadataTableConfigurationCommandOutput } from "./commands/CreateBucketMetadataTableConfigurationCommand";
import { type CreateMultipartUploadCommandInput, type CreateMultipartUploadCommandOutput } from "./commands/CreateMultipartUploadCommand";
import { type CreateSessionCommandInput, type CreateSessionCommandOutput } from "./commands/CreateSessionCommand";
import { type DeleteBucketAnalyticsConfigurationCommandInput, type DeleteBucketAnalyticsConfigurationCommandOutput } from "./commands/DeleteBucketAnalyticsConfigurationCommand";
import { type DeleteBucketCommandInput, type DeleteBucketCommandOutput } from "./commands/DeleteBucketCommand";
import { type DeleteBucketCorsCommandInput, type DeleteBucketCorsCommandOutput } from "./commands/DeleteBucketCorsCommand";
import { type DeleteBucketEncryptionCommandInput, type DeleteBucketEncryptionCommandOutput } from "./commands/DeleteBucketEncryptionCommand";
import { type DeleteBucketIntelligentTieringConfigurationCommandInput, type DeleteBucketIntelligentTieringConfigurationCommandOutput } from "./commands/DeleteBucketIntelligentTieringConfigurationCommand";
import { type DeleteBucketInventoryConfigurationCommandInput, type DeleteBucketInventoryConfigurationCommandOutput } from "./commands/DeleteBucketInventoryConfigurationCommand";
import { type DeleteBucketLifecycleCommandInput, type DeleteBucketLifecycleCommandOutput } from "./commands/DeleteBucketLifecycleCommand";
import { type DeleteBucketMetadataConfigurationCommandInput, type DeleteBucketMetadataConfigurationCommandOutput } from "./commands/DeleteBucketMetadataConfigurationCommand";
import { type DeleteBucketMetadataTableConfigurationCommandInput, type DeleteBucketMetadataTableConfigurationCommandOutput } from "./commands/DeleteBucketMetadataTableConfigurationCommand";
import { type DeleteBucketMetricsConfigurationCommandInput, type DeleteBucketMetricsConfigurationCommandOutput } from "./commands/DeleteBucketMetricsConfigurationCommand";
import { type DeleteBucketOwnershipControlsCommandInput, type DeleteBucketOwnershipControlsCommandOutput } from "./commands/DeleteBucketOwnershipControlsCommand";
import { type DeleteBucketPolicyCommandInput, type DeleteBucketPolicyCommandOutput } from "./commands/DeleteBucketPolicyCommand";
import { type DeleteBucketReplicationCommandInput, type DeleteBucketReplicationCommandOutput } from "./commands/DeleteBucketReplicationCommand";
import { type DeleteBucketTaggingCommandInput, type DeleteBucketTaggingCommandOutput } from "./commands/DeleteBucketTaggingCommand";
import { type DeleteBucketWebsiteCommandInput, type DeleteBucketWebsiteCommandOutput } from "./commands/DeleteBucketWebsiteCommand";
import { type DeleteObjectAnnotationCommandInput, type DeleteObjectAnnotationCommandOutput } from "./commands/DeleteObjectAnnotationCommand";
import { type DeleteObjectCommandInput, type DeleteObjectCommandOutput } from "./commands/DeleteObjectCommand";
import { type DeleteObjectsCommandInput, type DeleteObjectsCommandOutput } from "./commands/DeleteObjectsCommand";
import { type DeleteObjectTaggingCommandInput, type DeleteObjectTaggingCommandOutput } from "./commands/DeleteObjectTaggingCommand";
import { type DeletePublicAccessBlockCommandInput, type DeletePublicAccessBlockCommandOutput } from "./commands/DeletePublicAccessBlockCommand";
import { type GetBucketAbacCommandInput, type GetBucketAbacCommandOutput } from "./commands/GetBucketAbacCommand";
import { type GetBucketAccelerateConfigurationCommandInput, type GetBucketAccelerateConfigurationCommandOutput } from "./commands/GetBucketAccelerateConfigurationCommand";
import { type GetBucketAclCommandInput, type GetBucketAclCommandOutput } from "./commands/GetBucketAclCommand";
import { type GetBucketAnalyticsConfigurationCommandInput, type GetBucketAnalyticsConfigurationCommandOutput } from "./commands/GetBucketAnalyticsConfigurationCommand";
import { type GetBucketCorsCommandInput, type GetBucketCorsCommandOutput } from "./commands/GetBucketCorsCommand";
import { type GetBucketEncryptionCommandInput, type GetBucketEncryptionCommandOutput } from "./commands/GetBucketEncryptionCommand";
import { type GetBucketIntelligentTieringConfigurationCommandInput, type GetBucketIntelligentTieringConfigurationCommandOutput } from "./commands/GetBucketIntelligentTieringConfigurationCommand";
import { type GetBucketInventoryConfigurationCommandInput, type GetBucketInventoryConfigurationCommandOutput } from "./commands/GetBucketInventoryConfigurationCommand";
import { type GetBucketLifecycleConfigurationCommandInput, type GetBucketLifecycleConfigurationCommandOutput } from "./commands/GetBucketLifecycleConfigurationCommand";
import { type GetBucketLocationCommandInput, type GetBucketLocationCommandOutput } from "./commands/GetBucketLocationCommand";
import { type GetBucketLoggingCommandInput, type GetBucketLoggingCommandOutput } from "./commands/GetBucketLoggingCommand";
import { type GetBucketMetadataConfigurationCommandInput, type GetBucketMetadataConfigurationCommandOutput } from "./commands/GetBucketMetadataConfigurationCommand";
import { type GetBucketMetadataTableConfigurationCommandInput, type GetBucketMetadataTableConfigurationCommandOutput } from "./commands/GetBucketMetadataTableConfigurationCommand";
import { type GetBucketMetricsConfigurationCommandInput, type GetBucketMetricsConfigurationCommandOutput } from "./commands/GetBucketMetricsConfigurationCommand";
import { type GetBucketNotificationConfigurationCommandInput, type GetBucketNotificationConfigurationCommandOutput } from "./commands/GetBucketNotificationConfigurationCommand";
import { type GetBucketOwnershipControlsCommandInput, type GetBucketOwnershipControlsCommandOutput } from "./commands/GetBucketOwnershipControlsCommand";
import { type GetBucketPolicyCommandInput, type GetBucketPolicyCommandOutput } from "./commands/GetBucketPolicyCommand";
import { type GetBucketPolicyStatusCommandInput, type GetBucketPolicyStatusCommandOutput } from "./commands/GetBucketPolicyStatusCommand";
import { type GetBucketReplicationCommandInput, type GetBucketReplicationCommandOutput } from "./commands/GetBucketReplicationCommand";
import { type GetBucketRequestPaymentCommandInput, type GetBucketRequestPaymentCommandOutput } from "./commands/GetBucketRequestPaymentCommand";
import { type GetBucketTaggingCommandInput, type GetBucketTaggingCommandOutput } from "./commands/GetBucketTaggingCommand";
import { type GetBucketVersioningCommandInput, type GetBucketVersioningCommandOutput } from "./commands/GetBucketVersioningCommand";
import { type GetBucketWebsiteCommandInput, type GetBucketWebsiteCommandOutput } from "./commands/GetBucketWebsiteCommand";
import { type GetObjectAclCommandInput, type GetObjectAclCommandOutput } from "./commands/GetObjectAclCommand";
import { type GetObjectAnnotationCommandInput, type GetObjectAnnotationCommandOutput } from "./commands/GetObjectAnnotationCommand";
import { type GetObjectAttributesCommandInput, type GetObjectAttributesCommandOutput } from "./commands/GetObjectAttributesCommand";
import { type GetObjectCommandInput, type GetObjectCommandOutput } from "./commands/GetObjectCommand";
import { type GetObjectLegalHoldCommandInput, type GetObjectLegalHoldCommandOutput } from "./commands/GetObjectLegalHoldCommand";
import { type GetObjectLockConfigurationCommandInput, type GetObjectLockConfigurationCommandOutput } from "./commands/GetObjectLockConfigurationCommand";
import { type GetObjectRetentionCommandInput, type GetObjectRetentionCommandOutput } from "./commands/GetObjectRetentionCommand";
import { type GetObjectTaggingCommandInput, type GetObjectTaggingCommandOutput } from "./commands/GetObjectTaggingCommand";
import { type GetObjectTorrentCommandInput, type GetObjectTorrentCommandOutput } from "./commands/GetObjectTorrentCommand";
import { type GetPublicAccessBlockCommandInput, type GetPublicAccessBlockCommandOutput } from "./commands/GetPublicAccessBlockCommand";
import { type HeadBucketCommandInput, type HeadBucketCommandOutput } from "./commands/HeadBucketCommand";
import { type HeadObjectCommandInput, type HeadObjectCommandOutput } from "./commands/HeadObjectCommand";
import { type ListBucketAnalyticsConfigurationsCommandInput, type ListBucketAnalyticsConfigurationsCommandOutput } from "./commands/ListBucketAnalyticsConfigurationsCommand";
import { type ListBucketIntelligentTieringConfigurationsCommandInput, type ListBucketIntelligentTieringConfigurationsCommandOutput } from "./commands/ListBucketIntelligentTieringConfigurationsCommand";
import { type ListBucketInventoryConfigurationsCommandInput, type ListBucketInventoryConfigurationsCommandOutput } from "./commands/ListBucketInventoryConfigurationsCommand";
import { type ListBucketMetricsConfigurationsCommandInput, type ListBucketMetricsConfigurationsCommandOutput } from "./commands/ListBucketMetricsConfigurationsCommand";
import { type ListBucketsCommandInput, type ListBucketsCommandOutput } from "./commands/ListBucketsCommand";
import { type ListDirectoryBucketsCommandInput, type ListDirectoryBucketsCommandOutput } from "./commands/ListDirectoryBucketsCommand";
import { type ListMultipartUploadsCommandInput, type ListMultipartUploadsCommandOutput } from "./commands/ListMultipartUploadsCommand";
import { type ListObjectAnnotationsCommandInput, type ListObjectAnnotationsCommandOutput } from "./commands/ListObjectAnnotationsCommand";
import { type ListObjectsCommandInput, type ListObjectsCommandOutput } from "./commands/ListObjectsCommand";
import { type ListObjectsV2CommandInput, type ListObjectsV2CommandOutput } from "./commands/ListObjectsV2Command";
import { type ListObjectVersionsCommandInput, type ListObjectVersionsCommandOutput } from "./commands/ListObjectVersionsCommand";
import { type ListPartsCommandInput, type ListPartsCommandOutput } from "./commands/ListPartsCommand";
import { type PutBucketAbacCommandInput, type PutBucketAbacCommandOutput } from "./commands/PutBucketAbacCommand";
import { type PutBucketAccelerateConfigurationCommandInput, type PutBucketAccelerateConfigurationCommandOutput } from "./commands/PutBucketAccelerateConfigurationCommand";
import { type PutBucketAclCommandInput, type PutBucketAclCommandOutput } from "./commands/PutBucketAclCommand";
import { type PutBucketAnalyticsConfigurationCommandInput, type PutBucketAnalyticsConfigurationCommandOutput } from "./commands/PutBucketAnalyticsConfigurationCommand";
import { type PutBucketCorsCommandInput, type PutBucketCorsCommandOutput } from "./commands/PutBucketCorsCommand";
import { type PutBucketEncryptionCommandInput, type PutBucketEncryptionCommandOutput } from "./commands/PutBucketEncryptionCommand";
import { type PutBucketIntelligentTieringConfigurationCommandInput, type PutBucketIntelligentTieringConfigurationCommandOutput } from "./commands/PutBucketIntelligentTieringConfigurationCommand";
import { type PutBucketInventoryConfigurationCommandInput, type PutBucketInventoryConfigurationCommandOutput } from "./commands/PutBucketInventoryConfigurationCommand";
import { type PutBucketLifecycleConfigurationCommandInput, type PutBucketLifecycleConfigurationCommandOutput } from "./commands/PutBucketLifecycleConfigurationCommand";
import { type PutBucketLoggingCommandInput, type PutBucketLoggingCommandOutput } from "./commands/PutBucketLoggingCommand";
import { type PutBucketMetricsConfigurationCommandInput, type PutBucketMetricsConfigurationCommandOutput } from "./commands/PutBucketMetricsConfigurationCommand";
import { type PutBucketNotificationConfigurationCommandInput, type PutBucketNotificationConfigurationCommandOutput } from "./commands/PutBucketNotificationConfigurationCommand";
import { type PutBucketOwnershipControlsCommandInput, type PutBucketOwnershipControlsCommandOutput } from "./commands/PutBucketOwnershipControlsCommand";
import { type PutBucketPolicyCommandInput, type PutBucketPolicyCommandOutput } from "./commands/PutBucketPolicyCommand";
import { type PutBucketReplicationCommandInput, type PutBucketReplicationCommandOutput } from "./commands/PutBucketReplicationCommand";
import { type PutBucketRequestPaymentCommandInput, type PutBucketRequestPaymentCommandOutput } from "./commands/PutBucketRequestPaymentCommand";
import { type PutBucketTaggingCommandInput, type PutBucketTaggingCommandOutput } from "./commands/PutBucketTaggingCommand";
import { type PutBucketVersioningCommandInput, type PutBucketVersioningCommandOutput } from "./commands/PutBucketVersioningCommand";
import { type PutBucketWebsiteCommandInput, type PutBucketWebsiteCommandOutput } from "./commands/PutBucketWebsiteCommand";
import { type PutObjectAclCommandInput, type PutObjectAclCommandOutput } from "./commands/PutObjectAclCommand";
import { type PutObjectAnnotationCommandInput, type PutObjectAnnotationCommandOutput } from "./commands/PutObjectAnnotationCommand";
import { type PutObjectCommandInput, type PutObjectCommandOutput } from "./commands/PutObjectCommand";
import { type PutObjectLegalHoldCommandInput, type PutObjectLegalHoldCommandOutput } from "./commands/PutObjectLegalHoldCommand";
import { type PutObjectLockConfigurationCommandInput, type PutObjectLockConfigurationCommandOutput } from "./commands/PutObjectLockConfigurationCommand";
import { type PutObjectRetentionCommandInput, type PutObjectRetentionCommandOutput } from "./commands/PutObjectRetentionCommand";
import { type PutObjectTaggingCommandInput, type PutObjectTaggingCommandOutput } from "./commands/PutObjectTaggingCommand";
import { type PutPublicAccessBlockCommandInput, type PutPublicAccessBlockCommandOutput } from "./commands/PutPublicAccessBlockCommand";
import { type RenameObjectCommandInput, type RenameObjectCommandOutput } from "./commands/RenameObjectCommand";
import { type RestoreObjectCommandInput, type RestoreObjectCommandOutput } from "./commands/RestoreObjectCommand";
import { type SelectObjectContentCommandInput, type SelectObjectContentCommandOutput } from "./commands/SelectObjectContentCommand";
import { type UpdateBucketMetadataAnnotationTableConfigurationCommandInput, type UpdateBucketMetadataAnnotationTableConfigurationCommandOutput } from "./commands/UpdateBucketMetadataAnnotationTableConfigurationCommand";
import { type UpdateBucketMetadataInventoryTableConfigurationCommandInput, type UpdateBucketMetadataInventoryTableConfigurationCommandOutput } from "./commands/UpdateBucketMetadataInventoryTableConfigurationCommand";
import { type UpdateBucketMetadataJournalTableConfigurationCommandInput, type UpdateBucketMetadataJournalTableConfigurationCommandOutput } from "./commands/UpdateBucketMetadataJournalTableConfigurationCommand";
import { type UpdateObjectEncryptionCommandInput, type UpdateObjectEncryptionCommandOutput } from "./commands/UpdateObjectEncryptionCommand";
import { type UploadPartCommandInput, type UploadPartCommandOutput } from "./commands/UploadPartCommand";
import { type UploadPartCopyCommandInput, type UploadPartCopyCommandOutput } from "./commands/UploadPartCopyCommand";
import { type WriteGetObjectResponseCommandInput, type WriteGetObjectResponseCommandOutput } from "./commands/WriteGetObjectResponseCommand";
import type { NotFound } from "./models/errors";
import { S3Client } from "./S3Client";
export interface S3 {
    /**
     * @see {@link AbortMultipartUploadCommand}
     */
    abortMultipartUpload(args: AbortMultipartUploadCommandInput, options?: __HttpHandlerOptions): Promise<AbortMultipartUploadCommandOutput>;
    abortMultipartUpload(args: AbortMultipartUploadCommandInput, cb: (err: any, data?: AbortMultipartUploadCommandOutput) => void): void;
    abortMultipartUpload(args: AbortMultipartUploadCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: AbortMultipartUploadCommandOutput) => void): void;
    /**
     * @see {@link CompleteMultipartUploadCommand}
     */
    completeMultipartUpload(args: CompleteMultipartUploadCommandInput, options?: __HttpHandlerOptions): Promise<CompleteMultipartUploadCommandOutput>;
    completeMultipartUpload(args: CompleteMultipartUploadCommandInput, cb: (err: any, data?: CompleteMultipartUploadCommandOutput) => void): void;
    completeMultipartUpload(args: CompleteMultipartUploadCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CompleteMultipartUploadCommandOutput) => void): void;
    /**
     * @see {@link CopyObjectCommand}
     */
    copyObject(args: CopyObjectCommandInput, options?: __HttpHandlerOptions): Promise<CopyObjectCommandOutput>;
    copyObject(args: CopyObjectCommandInput, cb: (err: any, data?: CopyObjectCommandOutput) => void): void;
    copyObject(args: CopyObjectCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CopyObjectCommandOutput) => void): void;
    /**
     * @see {@link CreateBucketCommand}
     */
    createBucket(args: CreateBucketCommandInput, options?: __HttpHandlerOptions): Promise<CreateBucketCommandOutput>;
    createBucket(args: CreateBucketCommandInput, cb: (err: any, data?: CreateBucketCommandOutput) => void): void;
    createBucket(args: CreateBucketCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateBucketCommandOutput) => void): void;
    /**
     * @see {@link CreateBucketMetadataConfigurationCommand}
     */
    createBucketMetadataConfiguration(args: CreateBucketMetadataConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<CreateBucketMetadataConfigurationCommandOutput>;
    createBucketMetadataConfiguration(args: CreateBucketMetadataConfigurationCommandInput, cb: (err: any, data?: CreateBucketMetadataConfigurationCommandOutput) => void): void;
    createBucketMetadataConfiguration(args: CreateBucketMetadataConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateBucketMetadataConfigurationCommandOutput) => void): void;
    /**
     * @see {@link CreateBucketMetadataTableConfigurationCommand}
     */
    createBucketMetadataTableConfiguration(args: CreateBucketMetadataTableConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<CreateBucketMetadataTableConfigurationCommandOutput>;
    createBucketMetadataTableConfiguration(args: CreateBucketMetadataTableConfigurationCommandInput, cb: (err: any, data?: CreateBucketMetadataTableConfigurationCommandOutput) => void): void;
    createBucketMetadataTableConfiguration(args: CreateBucketMetadataTableConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateBucketMetadataTableConfigurationCommandOutput) => void): void;
    /**
     * @see {@link CreateMultipartUploadCommand}
     */
    createMultipartUpload(args: CreateMultipartUploadCommandInput, options?: __HttpHandlerOptions): Promise<CreateMultipartUploadCommandOutput>;
    createMultipartUpload(args: CreateMultipartUploadCommandInput, cb: (err: any, data?: CreateMultipartUploadCommandOutput) => void): void;
    createMultipartUpload(args: CreateMultipartUploadCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateMultipartUploadCommandOutput) => void): void;
    /**
     * @see {@link CreateSessionCommand}
     */
    createSession(args: CreateSessionCommandInput, options?: __HttpHandlerOptions): Promise<CreateSessionCommandOutput>;
    createSession(args: CreateSessionCommandInput, cb: (err: any, data?: CreateSessionCommandOutput) => void): void;
    createSession(args: CreateSessionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateSessionCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketCommand}
     */
    deleteBucket(args: DeleteBucketCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketCommandOutput>;
    deleteBucket(args: DeleteBucketCommandInput, cb: (err: any, data?: DeleteBucketCommandOutput) => void): void;
    deleteBucket(args: DeleteBucketCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketAnalyticsConfigurationCommand}
     */
    deleteBucketAnalyticsConfiguration(args: DeleteBucketAnalyticsConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketAnalyticsConfigurationCommandOutput>;
    deleteBucketAnalyticsConfiguration(args: DeleteBucketAnalyticsConfigurationCommandInput, cb: (err: any, data?: DeleteBucketAnalyticsConfigurationCommandOutput) => void): void;
    deleteBucketAnalyticsConfiguration(args: DeleteBucketAnalyticsConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketAnalyticsConfigurationCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketCorsCommand}
     */
    deleteBucketCors(args: DeleteBucketCorsCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketCorsCommandOutput>;
    deleteBucketCors(args: DeleteBucketCorsCommandInput, cb: (err: any, data?: DeleteBucketCorsCommandOutput) => void): void;
    deleteBucketCors(args: DeleteBucketCorsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketCorsCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketEncryptionCommand}
     */
    deleteBucketEncryption(args: DeleteBucketEncryptionCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketEncryptionCommandOutput>;
    deleteBucketEncryption(args: DeleteBucketEncryptionCommandInput, cb: (err: any, data?: DeleteBucketEncryptionCommandOutput) => void): void;
    deleteBucketEncryption(args: DeleteBucketEncryptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketEncryptionCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketIntelligentTieringConfigurationCommand}
     */
    deleteBucketIntelligentTieringConfiguration(args: DeleteBucketIntelligentTieringConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketIntelligentTieringConfigurationCommandOutput>;
    deleteBucketIntelligentTieringConfiguration(args: DeleteBucketIntelligentTieringConfigurationCommandInput, cb: (err: any, data?: DeleteBucketIntelligentTieringConfigurationCommandOutput) => void): void;
    deleteBucketIntelligentTieringConfiguration(args: DeleteBucketIntelligentTieringConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketIntelligentTieringConfigurationCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketInventoryConfigurationCommand}
     */
    deleteBucketInventoryConfiguration(args: DeleteBucketInventoryConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketInventoryConfigurationCommandOutput>;
    deleteBucketInventoryConfiguration(args: DeleteBucketInventoryConfigurationCommandInput, cb: (err: any, data?: DeleteBucketInventoryConfigurationCommandOutput) => void): void;
    deleteBucketInventoryConfiguration(args: DeleteBucketInventoryConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketInventoryConfigurationCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketLifecycleCommand}
     */
    deleteBucketLifecycle(args: DeleteBucketLifecycleCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketLifecycleCommandOutput>;
    deleteBucketLifecycle(args: DeleteBucketLifecycleCommandInput, cb: (err: any, data?: DeleteBucketLifecycleCommandOutput) => void): void;
    deleteBucketLifecycle(args: DeleteBucketLifecycleCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketLifecycleCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketMetadataConfigurationCommand}
     */
    deleteBucketMetadataConfiguration(args: DeleteBucketMetadataConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketMetadataConfigurationCommandOutput>;
    deleteBucketMetadataConfiguration(args: DeleteBucketMetadataConfigurationCommandInput, cb: (err: any, data?: DeleteBucketMetadataConfigurationCommandOutput) => void): void;
    deleteBucketMetadataConfiguration(args: DeleteBucketMetadataConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketMetadataConfigurationCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketMetadataTableConfigurationCommand}
     */
    deleteBucketMetadataTableConfiguration(args: DeleteBucketMetadataTableConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketMetadataTableConfigurationCommandOutput>;
    deleteBucketMetadataTableConfiguration(args: DeleteBucketMetadataTableConfigurationCommandInput, cb: (err: any, data?: DeleteBucketMetadataTableConfigurationCommandOutput) => void): void;
    deleteBucketMetadataTableConfiguration(args: DeleteBucketMetadataTableConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketMetadataTableConfigurationCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketMetricsConfigurationCommand}
     */
    deleteBucketMetricsConfiguration(args: DeleteBucketMetricsConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketMetricsConfigurationCommandOutput>;
    deleteBucketMetricsConfiguration(args: DeleteBucketMetricsConfigurationCommandInput, cb: (err: any, data?: DeleteBucketMetricsConfigurationCommandOutput) => void): void;
    deleteBucketMetricsConfiguration(args: DeleteBucketMetricsConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketMetricsConfigurationCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketOwnershipControlsCommand}
     */
    deleteBucketOwnershipControls(args: DeleteBucketOwnershipControlsCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketOwnershipControlsCommandOutput>;
    deleteBucketOwnershipControls(args: DeleteBucketOwnershipControlsCommandInput, cb: (err: any, data?: DeleteBucketOwnershipControlsCommandOutput) => void): void;
    deleteBucketOwnershipControls(args: DeleteBucketOwnershipControlsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketOwnershipControlsCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketPolicyCommand}
     */
    deleteBucketPolicy(args: DeleteBucketPolicyCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketPolicyCommandOutput>;
    deleteBucketPolicy(args: DeleteBucketPolicyCommandInput, cb: (err: any, data?: DeleteBucketPolicyCommandOutput) => void): void;
    deleteBucketPolicy(args: DeleteBucketPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketPolicyCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketReplicationCommand}
     */
    deleteBucketReplication(args: DeleteBucketReplicationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketReplicationCommandOutput>;
    deleteBucketReplication(args: DeleteBucketReplicationCommandInput, cb: (err: any, data?: DeleteBucketReplicationCommandOutput) => void): void;
    deleteBucketReplication(args: DeleteBucketReplicationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketReplicationCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketTaggingCommand}
     */
    deleteBucketTagging(args: DeleteBucketTaggingCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketTaggingCommandOutput>;
    deleteBucketTagging(args: DeleteBucketTaggingCommandInput, cb: (err: any, data?: DeleteBucketTaggingCommandOutput) => void): void;
    deleteBucketTagging(args: DeleteBucketTaggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketTaggingCommandOutput) => void): void;
    /**
     * @see {@link DeleteBucketWebsiteCommand}
     */
    deleteBucketWebsite(args: DeleteBucketWebsiteCommandInput, options?: __HttpHandlerOptions): Promise<DeleteBucketWebsiteCommandOutput>;
    deleteBucketWebsite(args: DeleteBucketWebsiteCommandInput, cb: (err: any, data?: DeleteBucketWebsiteCommandOutput) => void): void;
    deleteBucketWebsite(args: DeleteBucketWebsiteCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketWebsiteCommandOutput) => void): void;
    /**
     * @see {@link DeleteObjectCommand}
     */
    deleteObject(args: DeleteObjectCommandInput, options?: __HttpHandlerOptions): Promise<DeleteObjectCommandOutput>;
    deleteObject(args: DeleteObjectCommandInput, cb: (err: any, data?: DeleteObjectCommandOutput) => void): void;
    deleteObject(args: DeleteObjectCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteObjectCommandOutput) => void): void;
    /**
     * @see {@link DeleteObjectAnnotationCommand}
     */
    deleteObjectAnnotation(args: DeleteObjectAnnotationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteObjectAnnotationCommandOutput>;
    deleteObjectAnnotation(args: DeleteObjectAnnotationCommandInput, cb: (err: any, data?: DeleteObjectAnnotationCommandOutput) => void): void;
    deleteObjectAnnotation(args: DeleteObjectAnnotationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteObjectAnnotationCommandOutput) => void): void;
    /**
     * @see {@link DeleteObjectsCommand}
     */
    deleteObjects(args: DeleteObjectsCommandInput, options?: __HttpHandlerOptions): Promise<DeleteObjectsCommandOutput>;
    deleteObjects(args: DeleteObjectsCommandInput, cb: (err: any, data?: DeleteObjectsCommandOutput) => void): void;
    deleteObjects(args: DeleteObjectsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteObjectsCommandOutput) => void): void;
    /**
     * @see {@link DeleteObjectTaggingCommand}
     */
    deleteObjectTagging(args: DeleteObjectTaggingCommandInput, options?: __HttpHandlerOptions): Promise<DeleteObjectTaggingCommandOutput>;
    deleteObjectTagging(args: DeleteObjectTaggingCommandInput, cb: (err: any, data?: DeleteObjectTaggingCommandOutput) => void): void;
    deleteObjectTagging(args: DeleteObjectTaggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteObjectTaggingCommandOutput) => void): void;
    /**
     * @see {@link DeletePublicAccessBlockCommand}
     */
    deletePublicAccessBlock(args: DeletePublicAccessBlockCommandInput, options?: __HttpHandlerOptions): Promise<DeletePublicAccessBlockCommandOutput>;
    deletePublicAccessBlock(args: DeletePublicAccessBlockCommandInput, cb: (err: any, data?: DeletePublicAccessBlockCommandOutput) => void): void;
    deletePublicAccessBlock(args: DeletePublicAccessBlockCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeletePublicAccessBlockCommandOutput) => void): void;
    /**
     * @see {@link GetBucketAbacCommand}
     */
    getBucketAbac(args: GetBucketAbacCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketAbacCommandOutput>;
    getBucketAbac(args: GetBucketAbacCommandInput, cb: (err: any, data?: GetBucketAbacCommandOutput) => void): void;
    getBucketAbac(args: GetBucketAbacCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketAbacCommandOutput) => void): void;
    /**
     * @see {@link GetBucketAccelerateConfigurationCommand}
     */
    getBucketAccelerateConfiguration(args: GetBucketAccelerateConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketAccelerateConfigurationCommandOutput>;
    getBucketAccelerateConfiguration(args: GetBucketAccelerateConfigurationCommandInput, cb: (err: any, data?: GetBucketAccelerateConfigurationCommandOutput) => void): void;
    getBucketAccelerateConfiguration(args: GetBucketAccelerateConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketAccelerateConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketAclCommand}
     */
    getBucketAcl(args: GetBucketAclCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketAclCommandOutput>;
    getBucketAcl(args: GetBucketAclCommandInput, cb: (err: any, data?: GetBucketAclCommandOutput) => void): void;
    getBucketAcl(args: GetBucketAclCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketAclCommandOutput) => void): void;
    /**
     * @see {@link GetBucketAnalyticsConfigurationCommand}
     */
    getBucketAnalyticsConfiguration(args: GetBucketAnalyticsConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketAnalyticsConfigurationCommandOutput>;
    getBucketAnalyticsConfiguration(args: GetBucketAnalyticsConfigurationCommandInput, cb: (err: any, data?: GetBucketAnalyticsConfigurationCommandOutput) => void): void;
    getBucketAnalyticsConfiguration(args: GetBucketAnalyticsConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketAnalyticsConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketCorsCommand}
     */
    getBucketCors(args: GetBucketCorsCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketCorsCommandOutput>;
    getBucketCors(args: GetBucketCorsCommandInput, cb: (err: any, data?: GetBucketCorsCommandOutput) => void): void;
    getBucketCors(args: GetBucketCorsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketCorsCommandOutput) => void): void;
    /**
     * @see {@link GetBucketEncryptionCommand}
     */
    getBucketEncryption(args: GetBucketEncryptionCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketEncryptionCommandOutput>;
    getBucketEncryption(args: GetBucketEncryptionCommandInput, cb: (err: any, data?: GetBucketEncryptionCommandOutput) => void): void;
    getBucketEncryption(args: GetBucketEncryptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketEncryptionCommandOutput) => void): void;
    /**
     * @see {@link GetBucketIntelligentTieringConfigurationCommand}
     */
    getBucketIntelligentTieringConfiguration(args: GetBucketIntelligentTieringConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketIntelligentTieringConfigurationCommandOutput>;
    getBucketIntelligentTieringConfiguration(args: GetBucketIntelligentTieringConfigurationCommandInput, cb: (err: any, data?: GetBucketIntelligentTieringConfigurationCommandOutput) => void): void;
    getBucketIntelligentTieringConfiguration(args: GetBucketIntelligentTieringConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketIntelligentTieringConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketInventoryConfigurationCommand}
     */
    getBucketInventoryConfiguration(args: GetBucketInventoryConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketInventoryConfigurationCommandOutput>;
    getBucketInventoryConfiguration(args: GetBucketInventoryConfigurationCommandInput, cb: (err: any, data?: GetBucketInventoryConfigurationCommandOutput) => void): void;
    getBucketInventoryConfiguration(args: GetBucketInventoryConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketInventoryConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketLifecycleConfigurationCommand}
     */
    getBucketLifecycleConfiguration(args: GetBucketLifecycleConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketLifecycleConfigurationCommandOutput>;
    getBucketLifecycleConfiguration(args: GetBucketLifecycleConfigurationCommandInput, cb: (err: any, data?: GetBucketLifecycleConfigurationCommandOutput) => void): void;
    getBucketLifecycleConfiguration(args: GetBucketLifecycleConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketLifecycleConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketLocationCommand}
     */
    getBucketLocation(args: GetBucketLocationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketLocationCommandOutput>;
    getBucketLocation(args: GetBucketLocationCommandInput, cb: (err: any, data?: GetBucketLocationCommandOutput) => void): void;
    getBucketLocation(args: GetBucketLocationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketLocationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketLoggingCommand}
     */
    getBucketLogging(args: GetBucketLoggingCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketLoggingCommandOutput>;
    getBucketLogging(args: GetBucketLoggingCommandInput, cb: (err: any, data?: GetBucketLoggingCommandOutput) => void): void;
    getBucketLogging(args: GetBucketLoggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketLoggingCommandOutput) => void): void;
    /**
     * @see {@link GetBucketMetadataConfigurationCommand}
     */
    getBucketMetadataConfiguration(args: GetBucketMetadataConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketMetadataConfigurationCommandOutput>;
    getBucketMetadataConfiguration(args: GetBucketMetadataConfigurationCommandInput, cb: (err: any, data?: GetBucketMetadataConfigurationCommandOutput) => void): void;
    getBucketMetadataConfiguration(args: GetBucketMetadataConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketMetadataConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketMetadataTableConfigurationCommand}
     */
    getBucketMetadataTableConfiguration(args: GetBucketMetadataTableConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketMetadataTableConfigurationCommandOutput>;
    getBucketMetadataTableConfiguration(args: GetBucketMetadataTableConfigurationCommandInput, cb: (err: any, data?: GetBucketMetadataTableConfigurationCommandOutput) => void): void;
    getBucketMetadataTableConfiguration(args: GetBucketMetadataTableConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketMetadataTableConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketMetricsConfigurationCommand}
     */
    getBucketMetricsConfiguration(args: GetBucketMetricsConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketMetricsConfigurationCommandOutput>;
    getBucketMetricsConfiguration(args: GetBucketMetricsConfigurationCommandInput, cb: (err: any, data?: GetBucketMetricsConfigurationCommandOutput) => void): void;
    getBucketMetricsConfiguration(args: GetBucketMetricsConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketMetricsConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketNotificationConfigurationCommand}
     */
    getBucketNotificationConfiguration(args: GetBucketNotificationConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketNotificationConfigurationCommandOutput>;
    getBucketNotificationConfiguration(args: GetBucketNotificationConfigurationCommandInput, cb: (err: any, data?: GetBucketNotificationConfigurationCommandOutput) => void): void;
    getBucketNotificationConfiguration(args: GetBucketNotificationConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketNotificationConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketOwnershipControlsCommand}
     */
    getBucketOwnershipControls(args: GetBucketOwnershipControlsCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketOwnershipControlsCommandOutput>;
    getBucketOwnershipControls(args: GetBucketOwnershipControlsCommandInput, cb: (err: any, data?: GetBucketOwnershipControlsCommandOutput) => void): void;
    getBucketOwnershipControls(args: GetBucketOwnershipControlsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketOwnershipControlsCommandOutput) => void): void;
    /**
     * @see {@link GetBucketPolicyCommand}
     */
    getBucketPolicy(args: GetBucketPolicyCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketPolicyCommandOutput>;
    getBucketPolicy(args: GetBucketPolicyCommandInput, cb: (err: any, data?: GetBucketPolicyCommandOutput) => void): void;
    getBucketPolicy(args: GetBucketPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketPolicyCommandOutput) => void): void;
    /**
     * @see {@link GetBucketPolicyStatusCommand}
     */
    getBucketPolicyStatus(args: GetBucketPolicyStatusCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketPolicyStatusCommandOutput>;
    getBucketPolicyStatus(args: GetBucketPolicyStatusCommandInput, cb: (err: any, data?: GetBucketPolicyStatusCommandOutput) => void): void;
    getBucketPolicyStatus(args: GetBucketPolicyStatusCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketPolicyStatusCommandOutput) => void): void;
    /**
     * @see {@link GetBucketReplicationCommand}
     */
    getBucketReplication(args: GetBucketReplicationCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketReplicationCommandOutput>;
    getBucketReplication(args: GetBucketReplicationCommandInput, cb: (err: any, data?: GetBucketReplicationCommandOutput) => void): void;
    getBucketReplication(args: GetBucketReplicationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketReplicationCommandOutput) => void): void;
    /**
     * @see {@link GetBucketRequestPaymentCommand}
     */
    getBucketRequestPayment(args: GetBucketRequestPaymentCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketRequestPaymentCommandOutput>;
    getBucketRequestPayment(args: GetBucketRequestPaymentCommandInput, cb: (err: any, data?: GetBucketRequestPaymentCommandOutput) => void): void;
    getBucketRequestPayment(args: GetBucketRequestPaymentCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketRequestPaymentCommandOutput) => void): void;
    /**
     * @see {@link GetBucketTaggingCommand}
     */
    getBucketTagging(args: GetBucketTaggingCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketTaggingCommandOutput>;
    getBucketTagging(args: GetBucketTaggingCommandInput, cb: (err: any, data?: GetBucketTaggingCommandOutput) => void): void;
    getBucketTagging(args: GetBucketTaggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketTaggingCommandOutput) => void): void;
    /**
     * @see {@link GetBucketVersioningCommand}
     */
    getBucketVersioning(args: GetBucketVersioningCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketVersioningCommandOutput>;
    getBucketVersioning(args: GetBucketVersioningCommandInput, cb: (err: any, data?: GetBucketVersioningCommandOutput) => void): void;
    getBucketVersioning(args: GetBucketVersioningCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketVersioningCommandOutput) => void): void;
    /**
     * @see {@link GetBucketWebsiteCommand}
     */
    getBucketWebsite(args: GetBucketWebsiteCommandInput, options?: __HttpHandlerOptions): Promise<GetBucketWebsiteCommandOutput>;
    getBucketWebsite(args: GetBucketWebsiteCommandInput, cb: (err: any, data?: GetBucketWebsiteCommandOutput) => void): void;
    getBucketWebsite(args: GetBucketWebsiteCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketWebsiteCommandOutput) => void): void;
    /**
     * @see {@link GetObjectCommand}
     */
    getObject(args: GetObjectCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectCommandOutput>;
    getObject(args: GetObjectCommandInput, cb: (err: any, data?: GetObjectCommandOutput) => void): void;
    getObject(args: GetObjectCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectCommandOutput) => void): void;
    /**
     * @see {@link GetObjectAclCommand}
     */
    getObjectAcl(args: GetObjectAclCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectAclCommandOutput>;
    getObjectAcl(args: GetObjectAclCommandInput, cb: (err: any, data?: GetObjectAclCommandOutput) => void): void;
    getObjectAcl(args: GetObjectAclCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectAclCommandOutput) => void): void;
    /**
     * @see {@link GetObjectAnnotationCommand}
     */
    getObjectAnnotation(args: GetObjectAnnotationCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectAnnotationCommandOutput>;
    getObjectAnnotation(args: GetObjectAnnotationCommandInput, cb: (err: any, data?: GetObjectAnnotationCommandOutput) => void): void;
    getObjectAnnotation(args: GetObjectAnnotationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectAnnotationCommandOutput) => void): void;
    /**
     * @see {@link GetObjectAttributesCommand}
     */
    getObjectAttributes(args: GetObjectAttributesCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectAttributesCommandOutput>;
    getObjectAttributes(args: GetObjectAttributesCommandInput, cb: (err: any, data?: GetObjectAttributesCommandOutput) => void): void;
    getObjectAttributes(args: GetObjectAttributesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectAttributesCommandOutput) => void): void;
    /**
     * @see {@link GetObjectLegalHoldCommand}
     */
    getObjectLegalHold(args: GetObjectLegalHoldCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectLegalHoldCommandOutput>;
    getObjectLegalHold(args: GetObjectLegalHoldCommandInput, cb: (err: any, data?: GetObjectLegalHoldCommandOutput) => void): void;
    getObjectLegalHold(args: GetObjectLegalHoldCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectLegalHoldCommandOutput) => void): void;
    /**
     * @see {@link GetObjectLockConfigurationCommand}
     */
    getObjectLockConfiguration(args: GetObjectLockConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectLockConfigurationCommandOutput>;
    getObjectLockConfiguration(args: GetObjectLockConfigurationCommandInput, cb: (err: any, data?: GetObjectLockConfigurationCommandOutput) => void): void;
    getObjectLockConfiguration(args: GetObjectLockConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectLockConfigurationCommandOutput) => void): void;
    /**
     * @see {@link GetObjectRetentionCommand}
     */
    getObjectRetention(args: GetObjectRetentionCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectRetentionCommandOutput>;
    getObjectRetention(args: GetObjectRetentionCommandInput, cb: (err: any, data?: GetObjectRetentionCommandOutput) => void): void;
    getObjectRetention(args: GetObjectRetentionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectRetentionCommandOutput) => void): void;
    /**
     * @see {@link GetObjectTaggingCommand}
     */
    getObjectTagging(args: GetObjectTaggingCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectTaggingCommandOutput>;
    getObjectTagging(args: GetObjectTaggingCommandInput, cb: (err: any, data?: GetObjectTaggingCommandOutput) => void): void;
    getObjectTagging(args: GetObjectTaggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectTaggingCommandOutput) => void): void;
    /**
     * @see {@link GetObjectTorrentCommand}
     */
    getObjectTorrent(args: GetObjectTorrentCommandInput, options?: __HttpHandlerOptions): Promise<GetObjectTorrentCommandOutput>;
    getObjectTorrent(args: GetObjectTorrentCommandInput, cb: (err: any, data?: GetObjectTorrentCommandOutput) => void): void;
    getObjectTorrent(args: GetObjectTorrentCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetObjectTorrentCommandOutput) => void): void;
    /**
     * @see {@link GetPublicAccessBlockCommand}
     */
    getPublicAccessBlock(args: GetPublicAccessBlockCommandInput, options?: __HttpHandlerOptions): Promise<GetPublicAccessBlockCommandOutput>;
    getPublicAccessBlock(args: GetPublicAccessBlockCommandInput, cb: (err: any, data?: GetPublicAccessBlockCommandOutput) => void): void;
    getPublicAccessBlock(args: GetPublicAccessBlockCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetPublicAccessBlockCommandOutput) => void): void;
    /**
     * @see {@link HeadBucketCommand}
     */
    headBucket(args: HeadBucketCommandInput, options?: __HttpHandlerOptions): Promise<HeadBucketCommandOutput>;
    headBucket(args: HeadBucketCommandInput, cb: (err: any, data?: HeadBucketCommandOutput) => void): void;
    headBucket(args: HeadBucketCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: HeadBucketCommandOutput) => void): void;
    /**
     * @see {@link HeadObjectCommand}
     */
    headObject(args: HeadObjectCommandInput, options?: __HttpHandlerOptions): Promise<HeadObjectCommandOutput>;
    headObject(args: HeadObjectCommandInput, cb: (err: any, data?: HeadObjectCommandOutput) => void): void;
    headObject(args: HeadObjectCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: HeadObjectCommandOutput) => void): void;
    /**
     * @see {@link ListBucketAnalyticsConfigurationsCommand}
     */
    listBucketAnalyticsConfigurations(args: ListBucketAnalyticsConfigurationsCommandInput, options?: __HttpHandlerOptions): Promise<ListBucketAnalyticsConfigurationsCommandOutput>;
    listBucketAnalyticsConfigurations(args: ListBucketAnalyticsConfigurationsCommandInput, cb: (err: any, data?: ListBucketAnalyticsConfigurationsCommandOutput) => void): void;
    listBucketAnalyticsConfigurations(args: ListBucketAnalyticsConfigurationsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListBucketAnalyticsConfigurationsCommandOutput) => void): void;
    /**
     * @see {@link ListBucketIntelligentTieringConfigurationsCommand}
     */
    listBucketIntelligentTieringConfigurations(args: ListBucketIntelligentTieringConfigurationsCommandInput, options?: __HttpHandlerOptions): Promise<ListBucketIntelligentTieringConfigurationsCommandOutput>;
    listBucketIntelligentTieringConfigurations(args: ListBucketIntelligentTieringConfigurationsCommandInput, cb: (err: any, data?: ListBucketIntelligentTieringConfigurationsCommandOutput) => void): void;
    listBucketIntelligentTieringConfigurations(args: ListBucketIntelligentTieringConfigurationsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListBucketIntelligentTieringConfigurationsCommandOutput) => void): void;
    /**
     * @see {@link ListBucketInventoryConfigurationsCommand}
     */
    listBucketInventoryConfigurations(args: ListBucketInventoryConfigurationsCommandInput, options?: __HttpHandlerOptions): Promise<ListBucketInventoryConfigurationsCommandOutput>;
    listBucketInventoryConfigurations(args: ListBucketInventoryConfigurationsCommandInput, cb: (err: any, data?: ListBucketInventoryConfigurationsCommandOutput) => void): void;
    listBucketInventoryConfigurations(args: ListBucketInventoryConfigurationsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListBucketInventoryConfigurationsCommandOutput) => void): void;
    /**
     * @see {@link ListBucketMetricsConfigurationsCommand}
     */
    listBucketMetricsConfigurations(args: ListBucketMetricsConfigurationsCommandInput, options?: __HttpHandlerOptions): Promise<ListBucketMetricsConfigurationsCommandOutput>;
    listBucketMetricsConfigurations(args: ListBucketMetricsConfigurationsCommandInput, cb: (err: any, data?: ListBucketMetricsConfigurationsCommandOutput) => void): void;
    listBucketMetricsConfigurations(args: ListBucketMetricsConfigurationsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListBucketMetricsConfigurationsCommandOutput) => void): void;
    /**
     * @see {@link ListBucketsCommand}
     */
    listBuckets(): Promise<ListBucketsCommandOutput>;
    listBuckets(args: ListBucketsCommandInput, options?: __HttpHandlerOptions): Promise<ListBucketsCommandOutput>;
    listBuckets(args: ListBucketsCommandInput, cb: (err: any, data?: ListBucketsCommandOutput) => void): void;
    listBuckets(args: ListBucketsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListBucketsCommandOutput) => void): void;
    /**
     * @see {@link ListDirectoryBucketsCommand}
     */
    listDirectoryBuckets(): Promise<ListDirectoryBucketsCommandOutput>;
    listDirectoryBuckets(args: ListDirectoryBucketsCommandInput, options?: __HttpHandlerOptions): Promise<ListDirectoryBucketsCommandOutput>;
    listDirectoryBuckets(args: ListDirectoryBucketsCommandInput, cb: (err: any, data?: ListDirectoryBucketsCommandOutput) => void): void;
    listDirectoryBuckets(args: ListDirectoryBucketsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListDirectoryBucketsCommandOutput) => void): void;
    /**
     * @see {@link ListMultipartUploadsCommand}
     */
    listMultipartUploads(args: ListMultipartUploadsCommandInput, options?: __HttpHandlerOptions): Promise<ListMultipartUploadsCommandOutput>;
    listMultipartUploads(args: ListMultipartUploadsCommandInput, cb: (err: any, data?: ListMultipartUploadsCommandOutput) => void): void;
    listMultipartUploads(args: ListMultipartUploadsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListMultipartUploadsCommandOutput) => void): void;
    /**
     * @see {@link ListObjectAnnotationsCommand}
     */
    listObjectAnnotations(args: ListObjectAnnotationsCommandInput, options?: __HttpHandlerOptions): Promise<ListObjectAnnotationsCommandOutput>;
    listObjectAnnotations(args: ListObjectAnnotationsCommandInput, cb: (err: any, data?: ListObjectAnnotationsCommandOutput) => void): void;
    listObjectAnnotations(args: ListObjectAnnotationsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListObjectAnnotationsCommandOutput) => void): void;
    /**
     * @see {@link ListObjectsCommand}
     */
    listObjects(args: ListObjectsCommandInput, options?: __HttpHandlerOptions): Promise<ListObjectsCommandOutput>;
    listObjects(args: ListObjectsCommandInput, cb: (err: any, data?: ListObjectsCommandOutput) => void): void;
    listObjects(args: ListObjectsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListObjectsCommandOutput) => void): void;
    /**
     * @see {@link ListObjectsV2Command}
     */
    listObjectsV2(args: ListObjectsV2CommandInput, options?: __HttpHandlerOptions): Promise<ListObjectsV2CommandOutput>;
    listObjectsV2(args: ListObjectsV2CommandInput, cb: (err: any, data?: ListObjectsV2CommandOutput) => void): void;
    listObjectsV2(args: ListObjectsV2CommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListObjectsV2CommandOutput) => void): void;
    /**
     * @see {@link ListObjectVersionsCommand}
     */
    listObjectVersions(args: ListObjectVersionsCommandInput, options?: __HttpHandlerOptions): Promise<ListObjectVersionsCommandOutput>;
    listObjectVersions(args: ListObjectVersionsCommandInput, cb: (err: any, data?: ListObjectVersionsCommandOutput) => void): void;
    listObjectVersions(args: ListObjectVersionsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListObjectVersionsCommandOutput) => void): void;
    /**
     * @see {@link ListPartsCommand}
     */
    listParts(args: ListPartsCommandInput, options?: __HttpHandlerOptions): Promise<ListPartsCommandOutput>;
    listParts(args: ListPartsCommandInput, cb: (err: any, data?: ListPartsCommandOutput) => void): void;
    listParts(args: ListPartsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListPartsCommandOutput) => void): void;
    /**
     * @see {@link PutBucketAbacCommand}
     */
    putBucketAbac(args: PutBucketAbacCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketAbacCommandOutput>;
    putBucketAbac(args: PutBucketAbacCommandInput, cb: (err: any, data?: PutBucketAbacCommandOutput) => void): void;
    putBucketAbac(args: PutBucketAbacCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketAbacCommandOutput) => void): void;
    /**
     * @see {@link PutBucketAccelerateConfigurationCommand}
     */
    putBucketAccelerateConfiguration(args: PutBucketAccelerateConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketAccelerateConfigurationCommandOutput>;
    putBucketAccelerateConfiguration(args: PutBucketAccelerateConfigurationCommandInput, cb: (err: any, data?: PutBucketAccelerateConfigurationCommandOutput) => void): void;
    putBucketAccelerateConfiguration(args: PutBucketAccelerateConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketAccelerateConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketAclCommand}
     */
    putBucketAcl(args: PutBucketAclCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketAclCommandOutput>;
    putBucketAcl(args: PutBucketAclCommandInput, cb: (err: any, data?: PutBucketAclCommandOutput) => void): void;
    putBucketAcl(args: PutBucketAclCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketAclCommandOutput) => void): void;
    /**
     * @see {@link PutBucketAnalyticsConfigurationCommand}
     */
    putBucketAnalyticsConfiguration(args: PutBucketAnalyticsConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketAnalyticsConfigurationCommandOutput>;
    putBucketAnalyticsConfiguration(args: PutBucketAnalyticsConfigurationCommandInput, cb: (err: any, data?: PutBucketAnalyticsConfigurationCommandOutput) => void): void;
    putBucketAnalyticsConfiguration(args: PutBucketAnalyticsConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketAnalyticsConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketCorsCommand}
     */
    putBucketCors(args: PutBucketCorsCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketCorsCommandOutput>;
    putBucketCors(args: PutBucketCorsCommandInput, cb: (err: any, data?: PutBucketCorsCommandOutput) => void): void;
    putBucketCors(args: PutBucketCorsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketCorsCommandOutput) => void): void;
    /**
     * @see {@link PutBucketEncryptionCommand}
     */
    putBucketEncryption(args: PutBucketEncryptionCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketEncryptionCommandOutput>;
    putBucketEncryption(args: PutBucketEncryptionCommandInput, cb: (err: any, data?: PutBucketEncryptionCommandOutput) => void): void;
    putBucketEncryption(args: PutBucketEncryptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketEncryptionCommandOutput) => void): void;
    /**
     * @see {@link PutBucketIntelligentTieringConfigurationCommand}
     */
    putBucketIntelligentTieringConfiguration(args: PutBucketIntelligentTieringConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketIntelligentTieringConfigurationCommandOutput>;
    putBucketIntelligentTieringConfiguration(args: PutBucketIntelligentTieringConfigurationCommandInput, cb: (err: any, data?: PutBucketIntelligentTieringConfigurationCommandOutput) => void): void;
    putBucketIntelligentTieringConfiguration(args: PutBucketIntelligentTieringConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketIntelligentTieringConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketInventoryConfigurationCommand}
     */
    putBucketInventoryConfiguration(args: PutBucketInventoryConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketInventoryConfigurationCommandOutput>;
    putBucketInventoryConfiguration(args: PutBucketInventoryConfigurationCommandInput, cb: (err: any, data?: PutBucketInventoryConfigurationCommandOutput) => void): void;
    putBucketInventoryConfiguration(args: PutBucketInventoryConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketInventoryConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketLifecycleConfigurationCommand}
     */
    putBucketLifecycleConfiguration(args: PutBucketLifecycleConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketLifecycleConfigurationCommandOutput>;
    putBucketLifecycleConfiguration(args: PutBucketLifecycleConfigurationCommandInput, cb: (err: any, data?: PutBucketLifecycleConfigurationCommandOutput) => void): void;
    putBucketLifecycleConfiguration(args: PutBucketLifecycleConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketLifecycleConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketLoggingCommand}
     */
    putBucketLogging(args: PutBucketLoggingCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketLoggingCommandOutput>;
    putBucketLogging(args: PutBucketLoggingCommandInput, cb: (err: any, data?: PutBucketLoggingCommandOutput) => void): void;
    putBucketLogging(args: PutBucketLoggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketLoggingCommandOutput) => void): void;
    /**
     * @see {@link PutBucketMetricsConfigurationCommand}
     */
    putBucketMetricsConfiguration(args: PutBucketMetricsConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketMetricsConfigurationCommandOutput>;
    putBucketMetricsConfiguration(args: PutBucketMetricsConfigurationCommandInput, cb: (err: any, data?: PutBucketMetricsConfigurationCommandOutput) => void): void;
    putBucketMetricsConfiguration(args: PutBucketMetricsConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketMetricsConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketNotificationConfigurationCommand}
     */
    putBucketNotificationConfiguration(args: PutBucketNotificationConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketNotificationConfigurationCommandOutput>;
    putBucketNotificationConfiguration(args: PutBucketNotificationConfigurationCommandInput, cb: (err: any, data?: PutBucketNotificationConfigurationCommandOutput) => void): void;
    putBucketNotificationConfiguration(args: PutBucketNotificationConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketNotificationConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketOwnershipControlsCommand}
     */
    putBucketOwnershipControls(args: PutBucketOwnershipControlsCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketOwnershipControlsCommandOutput>;
    putBucketOwnershipControls(args: PutBucketOwnershipControlsCommandInput, cb: (err: any, data?: PutBucketOwnershipControlsCommandOutput) => void): void;
    putBucketOwnershipControls(args: PutBucketOwnershipControlsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketOwnershipControlsCommandOutput) => void): void;
    /**
     * @see {@link PutBucketPolicyCommand}
     */
    putBucketPolicy(args: PutBucketPolicyCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketPolicyCommandOutput>;
    putBucketPolicy(args: PutBucketPolicyCommandInput, cb: (err: any, data?: PutBucketPolicyCommandOutput) => void): void;
    putBucketPolicy(args: PutBucketPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketPolicyCommandOutput) => void): void;
    /**
     * @see {@link PutBucketReplicationCommand}
     */
    putBucketReplication(args: PutBucketReplicationCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketReplicationCommandOutput>;
    putBucketReplication(args: PutBucketReplicationCommandInput, cb: (err: any, data?: PutBucketReplicationCommandOutput) => void): void;
    putBucketReplication(args: PutBucketReplicationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketReplicationCommandOutput) => void): void;
    /**
     * @see {@link PutBucketRequestPaymentCommand}
     */
    putBucketRequestPayment(args: PutBucketRequestPaymentCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketRequestPaymentCommandOutput>;
    putBucketRequestPayment(args: PutBucketRequestPaymentCommandInput, cb: (err: any, data?: PutBucketRequestPaymentCommandOutput) => void): void;
    putBucketRequestPayment(args: PutBucketRequestPaymentCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketRequestPaymentCommandOutput) => void): void;
    /**
     * @see {@link PutBucketTaggingCommand}
     */
    putBucketTagging(args: PutBucketTaggingCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketTaggingCommandOutput>;
    putBucketTagging(args: PutBucketTaggingCommandInput, cb: (err: any, data?: PutBucketTaggingCommandOutput) => void): void;
    putBucketTagging(args: PutBucketTaggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketTaggingCommandOutput) => void): void;
    /**
     * @see {@link PutBucketVersioningCommand}
     */
    putBucketVersioning(args: PutBucketVersioningCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketVersioningCommandOutput>;
    putBucketVersioning(args: PutBucketVersioningCommandInput, cb: (err: any, data?: PutBucketVersioningCommandOutput) => void): void;
    putBucketVersioning(args: PutBucketVersioningCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketVersioningCommandOutput) => void): void;
    /**
     * @see {@link PutBucketWebsiteCommand}
     */
    putBucketWebsite(args: PutBucketWebsiteCommandInput, options?: __HttpHandlerOptions): Promise<PutBucketWebsiteCommandOutput>;
    putBucketWebsite(args: PutBucketWebsiteCommandInput, cb: (err: any, data?: PutBucketWebsiteCommandOutput) => void): void;
    putBucketWebsite(args: PutBucketWebsiteCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutBucketWebsiteCommandOutput) => void): void;
    /**
     * @see {@link PutObjectCommand}
     */
    putObject(args: PutObjectCommandInput, options?: __HttpHandlerOptions): Promise<PutObjectCommandOutput>;
    putObject(args: PutObjectCommandInput, cb: (err: any, data?: PutObjectCommandOutput) => void): void;
    putObject(args: PutObjectCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutObjectCommandOutput) => void): void;
    /**
     * @see {@link PutObjectAclCommand}
     */
    putObjectAcl(args: PutObjectAclCommandInput, options?: __HttpHandlerOptions): Promise<PutObjectAclCommandOutput>;
    putObjectAcl(args: PutObjectAclCommandInput, cb: (err: any, data?: PutObjectAclCommandOutput) => void): void;
    putObjectAcl(args: PutObjectAclCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutObjectAclCommandOutput) => void): void;
    /**
     * @see {@link PutObjectAnnotationCommand}
     */
    putObjectAnnotation(args: PutObjectAnnotationCommandInput, options?: __HttpHandlerOptions): Promise<PutObjectAnnotationCommandOutput>;
    putObjectAnnotation(args: PutObjectAnnotationCommandInput, cb: (err: any, data?: PutObjectAnnotationCommandOutput) => void): void;
    putObjectAnnotation(args: PutObjectAnnotationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutObjectAnnotationCommandOutput) => void): void;
    /**
     * @see {@link PutObjectLegalHoldCommand}
     */
    putObjectLegalHold(args: PutObjectLegalHoldCommandInput, options?: __HttpHandlerOptions): Promise<PutObjectLegalHoldCommandOutput>;
    putObjectLegalHold(args: PutObjectLegalHoldCommandInput, cb: (err: any, data?: PutObjectLegalHoldCommandOutput) => void): void;
    putObjectLegalHold(args: PutObjectLegalHoldCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutObjectLegalHoldCommandOutput) => void): void;
    /**
     * @see {@link PutObjectLockConfigurationCommand}
     */
    putObjectLockConfiguration(args: PutObjectLockConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<PutObjectLockConfigurationCommandOutput>;
    putObjectLockConfiguration(args: PutObjectLockConfigurationCommandInput, cb: (err: any, data?: PutObjectLockConfigurationCommandOutput) => void): void;
    putObjectLockConfiguration(args: PutObjectLockConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutObjectLockConfigurationCommandOutput) => void): void;
    /**
     * @see {@link PutObjectRetentionCommand}
     */
    putObjectRetention(args: PutObjectRetentionCommandInput, options?: __HttpHandlerOptions): Promise<PutObjectRetentionCommandOutput>;
    putObjectRetention(args: PutObjectRetentionCommandInput, cb: (err: any, data?: PutObjectRetentionCommandOutput) => void): void;
    putObjectRetention(args: PutObjectRetentionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutObjectRetentionCommandOutput) => void): void;
    /**
     * @see {@link PutObjectTaggingCommand}
     */
    putObjectTagging(args: PutObjectTaggingCommandInput, options?: __HttpHandlerOptions): Promise<PutObjectTaggingCommandOutput>;
    putObjectTagging(args: PutObjectTaggingCommandInput, cb: (err: any, data?: PutObjectTaggingCommandOutput) => void): void;
    putObjectTagging(args: PutObjectTaggingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutObjectTaggingCommandOutput) => void): void;
    /**
     * @see {@link PutPublicAccessBlockCommand}
     */
    putPublicAccessBlock(args: PutPublicAccessBlockCommandInput, options?: __HttpHandlerOptions): Promise<PutPublicAccessBlockCommandOutput>;
    putPublicAccessBlock(args: PutPublicAccessBlockCommandInput, cb: (err: any, data?: PutPublicAccessBlockCommandOutput) => void): void;
    putPublicAccessBlock(args: PutPublicAccessBlockCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutPublicAccessBlockCommandOutput) => void): void;
    /**
     * @see {@link RenameObjectCommand}
     */
    renameObject(args: RenameObjectCommandInput, options?: __HttpHandlerOptions): Promise<RenameObjectCommandOutput>;
    renameObject(args: RenameObjectCommandInput, cb: (err: any, data?: RenameObjectCommandOutput) => void): void;
    renameObject(args: RenameObjectCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RenameObjectCommandOutput) => void): void;
    /**
     * @see {@link RestoreObjectCommand}
     */
    restoreObject(args: RestoreObjectCommandInput, options?: __HttpHandlerOptions): Promise<RestoreObjectCommandOutput>;
    restoreObject(args: RestoreObjectCommandInput, cb: (err: any, data?: RestoreObjectCommandOutput) => void): void;
    restoreObject(args: RestoreObjectCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RestoreObjectCommandOutput) => void): void;
    /**
     * @see {@link SelectObjectContentCommand}
     */
    selectObjectContent(args: SelectObjectContentCommandInput, options?: __HttpHandlerOptions): Promise<SelectObjectContentCommandOutput>;
    selectObjectContent(args: SelectObjectContentCommandInput, cb: (err: any, data?: SelectObjectContentCommandOutput) => void): void;
    selectObjectContent(args: SelectObjectContentCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: SelectObjectContentCommandOutput) => void): void;
    /**
     * @see {@link UpdateBucketMetadataAnnotationTableConfigurationCommand}
     */
    updateBucketMetadataAnnotationTableConfiguration(args: UpdateBucketMetadataAnnotationTableConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateBucketMetadataAnnotationTableConfigurationCommandOutput>;
    updateBucketMetadataAnnotationTableConfiguration(args: UpdateBucketMetadataAnnotationTableConfigurationCommandInput, cb: (err: any, data?: UpdateBucketMetadataAnnotationTableConfigurationCommandOutput) => void): void;
    updateBucketMetadataAnnotationTableConfiguration(args: UpdateBucketMetadataAnnotationTableConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateBucketMetadataAnnotationTableConfigurationCommandOutput) => void): void;
    /**
     * @see {@link UpdateBucketMetadataInventoryTableConfigurationCommand}
     */
    updateBucketMetadataInventoryTableConfiguration(args: UpdateBucketMetadataInventoryTableConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateBucketMetadataInventoryTableConfigurationCommandOutput>;
    updateBucketMetadataInventoryTableConfiguration(args: UpdateBucketMetadataInventoryTableConfigurationCommandInput, cb: (err: any, data?: UpdateBucketMetadataInventoryTableConfigurationCommandOutput) => void): void;
    updateBucketMetadataInventoryTableConfiguration(args: UpdateBucketMetadataInventoryTableConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateBucketMetadataInventoryTableConfigurationCommandOutput) => void): void;
    /**
     * @see {@link UpdateBucketMetadataJournalTableConfigurationCommand}
     */
    updateBucketMetadataJournalTableConfiguration(args: UpdateBucketMetadataJournalTableConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateBucketMetadataJournalTableConfigurationCommandOutput>;
    updateBucketMetadataJournalTableConfiguration(args: UpdateBucketMetadataJournalTableConfigurationCommandInput, cb: (err: any, data?: UpdateBucketMetadataJournalTableConfigurationCommandOutput) => void): void;
    updateBucketMetadataJournalTableConfiguration(args: UpdateBucketMetadataJournalTableConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateBucketMetadataJournalTableConfigurationCommandOutput) => void): void;
    /**
     * @see {@link UpdateObjectEncryptionCommand}
     */
    updateObjectEncryption(args: UpdateObjectEncryptionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateObjectEncryptionCommandOutput>;
    updateObjectEncryption(args: UpdateObjectEncryptionCommandInput, cb: (err: any, data?: UpdateObjectEncryptionCommandOutput) => void): void;
    updateObjectEncryption(args: UpdateObjectEncryptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateObjectEncryptionCommandOutput) => void): void;
    /**
     * @see {@link UploadPartCommand}
     */
    uploadPart(args: UploadPartCommandInput, options?: __HttpHandlerOptions): Promise<UploadPartCommandOutput>;
    uploadPart(args: UploadPartCommandInput, cb: (err: any, data?: UploadPartCommandOutput) => void): void;
    uploadPart(args: UploadPartCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UploadPartCommandOutput) => void): void;
    /**
     * @see {@link UploadPartCopyCommand}
     */
    uploadPartCopy(args: UploadPartCopyCommandInput, options?: __HttpHandlerOptions): Promise<UploadPartCopyCommandOutput>;
    uploadPartCopy(args: UploadPartCopyCommandInput, cb: (err: any, data?: UploadPartCopyCommandOutput) => void): void;
    uploadPartCopy(args: UploadPartCopyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UploadPartCopyCommandOutput) => void): void;
    /**
     * @see {@link WriteGetObjectResponseCommand}
     */
    writeGetObjectResponse(args: WriteGetObjectResponseCommandInput, options?: __HttpHandlerOptions): Promise<WriteGetObjectResponseCommandOutput>;
    writeGetObjectResponse(args: WriteGetObjectResponseCommandInput, cb: (err: any, data?: WriteGetObjectResponseCommandOutput) => void): void;
    writeGetObjectResponse(args: WriteGetObjectResponseCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: WriteGetObjectResponseCommandOutput) => void): void;
    /**
     * @see {@link ListBucketsCommand}
     * @param args - command input.
     * @param paginationConfig - optional pagination config.
     * @returns AsyncIterable of {@link ListBucketsCommandOutput}.
     */
    paginateListBuckets(args?: ListBucketsCommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListBucketsCommandOutput>;
    /**
     * @see {@link ListDirectoryBucketsCommand}
     * @param args - command input.
     * @param paginationConfig - optional pagination config.
     * @returns AsyncIterable of {@link ListDirectoryBucketsCommandOutput}.
     */
    paginateListDirectoryBuckets(args?: ListDirectoryBucketsCommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListDirectoryBucketsCommandOutput>;
    /**
     * @see {@link ListObjectAnnotationsCommand}
     * @param args - command input.
     * @param paginationConfig - optional pagination config.
     * @returns AsyncIterable of {@link ListObjectAnnotationsCommandOutput}.
     */
    paginateListObjectAnnotations(args: ListObjectAnnotationsCommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListObjectAnnotationsCommandOutput>;
    /**
     * @see {@link ListObjectsV2Command}
     * @param args - command input.
     * @param paginationConfig - optional pagination config.
     * @returns AsyncIterable of {@link ListObjectsV2CommandOutput}.
     */
    paginateListObjectsV2(args: ListObjectsV2CommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListObjectsV2CommandOutput>;
    /**
     * @see {@link ListPartsCommand}
     * @param args - command input.
     * @param paginationConfig - optional pagination config.
     * @returns AsyncIterable of {@link ListPartsCommandOutput}.
     */
    paginateListParts(args: ListPartsCommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListPartsCommandOutput>;
    /**
     * @see {@link HeadBucketCommand}
     * @param args - command input.
     * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
     */
    waitUntilBucketExists(args: HeadBucketCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult<HeadBucketCommandOutput>>;
    /**
     * @see {@link HeadBucketCommand}
     * @param args - command input.
     * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
     */
    waitUntilBucketNotExists(args: HeadBucketCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult<NotFound>>;
    /**
     * @see {@link HeadObjectCommand}
     * @param args - command input.
     * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
     */
    waitUntilObjectExists(args: HeadObjectCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult<HeadObjectCommandOutput>>;
    /**
     * @see {@link HeadObjectCommand}
     * @param args - command input.
     * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
     */
    waitUntilObjectNotExists(args: HeadObjectCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult<NotFound>>;
}
/**
 * <note>
 *             <p>For information about using the Amazon S3 API—including authentication, signing requests, code examples, and error handling—see the <a href="https://docs.aws.amazon.com/AmazonS3/latest/developerguide/Welcome.html">Amazon S3 Developer Guide</a>.</p>
 *          </note>
 *          <p>Welcome to the <i>Amazon S3 API Reference</i>. This guide explains the Amazon Simple Storage Service (Amazon S3)
 *       application programming interface (API).</p>
 *          <p>Welcome to the <i>Amazon S3 API Reference</i>. This guide explains the Amazon Simple Storage Service (Amazon S3)
 *       application programming interface (API).</p>
 *          <p>You can use any toolkit that supports HTTP to use the REST API. You can even use a browser
 *       to fetch objects, as long as they are anonymously readable.</p>
 *          <p>The REST API uses the standard HTTP headers and status codes, so that standard browsers and toolkits work as expected. In some areas, we have added functionality to HTTP (for example, we added headers to support access control). In these cases, we have done our best to add the new functionality in a way that matched the style of standard HTTP usage.</p>
 *          <p>The current version of the Amazon S3 API is <code>2006-03-01</code>.</p>
 *          <p>Amazon S3 supports the REST API.</p>
 *          <note>
 *             <p>Support for SOAP over HTTP is deprecated, but it is still available over HTTPS.
 *         However, new Amazon S3 features will not be supported for SOAP. We recommend that
 *         you use either this REST API or the Amazon Web Services SDKs.</p>
 *          </note>
 * @public
 */
export declare class S3 extends S3Client implements S3 {
}
