import TOSBase from '../base'; import { Acl, StorageClass } from '../../interface'; import { AzRedundancyType, StatusType, StorageClassType } from '../../TosExportEnum'; export interface Bucket { CreationDate: string; ExtranetEndpoint: string; IntranetEndpoint: string; Location: string; Name: string; Owner: { ID: string; }; BucketType?: string; } export interface ListBucketOutput { Buckets: Bucket[]; } export interface PutBucketInput { bucket?: string; acl?: Acl; grantFullControl?: string; grantRead?: string; grantReadAcp?: string; grantWrite?: string; grantWriteAcp?: string; storageClass?: StorageClassType; azRedundancy?: AzRedundancyType; projectName?: string; bucketType?: string; tagging?: string; headers?: { [key: string]: string | undefined; ['x-tos-acl']?: Acl; ['x-tos-grant-full-control']?: string; ['x-tos-grant-read']?: string; ['x-tos-grant-read-acp']?: string; ['x-tos-grant-write']?: string; ['x-tos-grant-write-acp']?: string; ['x-tos-storage-class']?: StorageClass; }; } export interface ListBucketInput { projectName?: string; } export declare function listBuckets(this: TOSBase, input?: ListBucketInput): Promise>; export declare function createBucket(this: TOSBase, input: PutBucketInput): Promise>; export declare function deleteBucket(this: TOSBase, bucket?: string): Promise>; export interface HeadBucketOutput { ['x-tos-bucket-region']: string; ['x-tos-storage-class']: StorageClass; ['x-tos-bucket-type']?: string; ProjectName?: string; } export declare function headBucket(this: TOSBase, bucket?: string): Promise>; export interface DoesBucketExistInput { bucket: string; } export declare function doesBucketExist(this: TOSBase, input: DoesBucketExistInput): Promise; export interface PutBucketStorageClassInput { bucket: string; storageClass: StorageClassType; } export interface PutBucketStorageClassOutput { } export declare function putBucketStorageClass(this: TOSBase, input: PutBucketStorageClassInput): Promise>; export interface GetBucketInfoInput { bucket: string; } export interface BucketInfoOwner { ID: string; } export interface ServerSideEncryptionConfiguration { Rule?: { ApplyServerSideEncryptionByDefault?: { SSEAlgorithm: string; KMSMasterKeyID?: string; KMSDataEncryption?: string; }; }; } export interface BucketInfo { Name: string; Owner: BucketInfoOwner; CreationDate: string; StorageClass: StorageClassType; ProjectName: string; Type: string; Location: string; AzRedundancy: AzRedundancyType; ExtranetEndpoint: string; IntranetEndpoint: string; ExtranetS3Endpoint: string; IntranetS3Endpoint: string; Versioning: string; CrossRegionReplication: StatusType; TransferAcceleration: StatusType; AccessMonitor: StatusType; ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration; } export interface GetBucketInfoOutput { Bucket: BucketInfo; } export declare function getBucketInfo(this: TOSBase, input: GetBucketInfoInput): Promise>;