import { StorageClassType } from '../../TosExportEnum'; import TOSBase from '../base'; interface LifecycleRule { ID?: string; Prefix?: string; Status: 'Enabled' | 'Disabled'; Filter?: { GreaterThanIncludeEqual?: 'Enabled' | 'Disabled'; LessThanIncludeEqual?: 'Enabled' | 'Disabled'; /** unit bit */ ObjectSizeGreaterThan?: number; /** unit bit */ ObjectSizeLessThan?: number; /** * @private unstable */ Not?: { Prefix?: string; Tags?: { Key?: string; Value?: string; }[]; }[]; }; Expiration?: { Date?: string; Days?: number; }; Days?: number; Date?: string; NoncurrentVersionExpiration?: { NoncurrentDays?: number; NoncurrentDate?: string; }; AbortIncompleteMultipartUpload?: { DaysAfterInitiation?: number; }; DaysAfterInitiation?: number; Transitions?: { StorageClass: StorageClassType; Days?: number; Date?: string; }[]; AccessTimeTransitions?: { StorageClass: StorageClassType; Days?: number; }[]; AccessTimeExpiration?: { Days: number; }; NoncurrentVersionAccessTimeTransitions?: { StorageClass: StorageClassType; NoncurrentDays?: number; }[]; NoncurrentVersionAccessTimeExpiration?: { NoncurrentDays: number; }; NoncurrentVersionTransitions?: { StorageClass?: StorageClassType; NoncurrentDays?: number; NoncurrentDate?: string; }[]; Tags?: { Key?: string; Value?: string; }[]; } export interface PutBucketLifecycleInput { bucket: string; rules: LifecycleRule[]; allowSameActionOverlap?: boolean; } export interface PutBucketLifecycleOutput { } export declare function putBucketLifecycle(this: TOSBase, input: PutBucketLifecycleInput): Promise>; export interface GetBucketLifecycleInput { bucket: string; } export interface GetBucketLifecycleOutput { Rules: LifecycleRule[]; AllowSameActionOverlap?: boolean; } export declare function getBucketLifecycle(this: TOSBase, input: GetBucketLifecycleInput): Promise>; export interface DeleteBucketLifecycleInput { bucket: string; } export interface DeleteBucketLifecycleOutput { } export declare function deleteBucketLifecycle(this: TOSBase, input: DeleteBucketLifecycleInput): Promise>; export {};