import { NosBaseClient } from '../client';
import { BucketAcl, BucketLocation, ListBucketResult, OperateBucketParams, PutBucketParams, SetBucketAclParams } from '../type/bucket';
import { Callback } from '../type/callback';
export declare class NosClientBucketExt extends NosBaseClient {
    /**
     * 获取全部 Bucket
     */
    listBucket(): Promise<ListBucketResult>;
    listBucket(cb: Callback<ListBucketResult>): void;
    /**
     * 添加一个 Bucket
     * @param params
     * @param params
     */
    putBucket(params: PutBucketParams): Promise<void>;
    putBucket(params: PutBucketParams, cb: Callback<void>): void;
    /**
     * 确保 Bucket 存在。如果不存在，会自动创建，如果存在，不做任何操作。
     */
    ensureBucket(params: PutBucketParams): Promise<void>;
    ensureBucket(params: PutBucketParams, cb: Callback<void>): void;
    /**
     * 检查一个 Bucket 是否存在
     */
    isBucketExist(params: OperateBucketParams): Promise<boolean>;
    isBucketExist(params: OperateBucketParams, cb: Callback<boolean>): void;
    /**
     * 删除 Bucket
     */
    deleteBucket(params: OperateBucketParams): Promise<void>;
    deleteBucket(params: OperateBucketParams, cb: Callback<void>): void;
    /**
     * 获取 Bucket 的权限
     */
    getBucketAcl(params: OperateBucketParams): Promise<BucketAcl>;
    getBucketAcl(params: OperateBucketParams, cb: Callback<BucketAcl>): void;
    /**
     * 设置 Bucket 的权限
     */
    setBucketAcl(params: SetBucketAclParams): Promise<void>;
    setBucketAcl(params: SetBucketAclParams, cb: Callback<void>): void;
    /**
     * 获取 Bucket 的地域位置
     */
    getBucketLocation(params: OperateBucketParams): Promise<BucketLocation>;
    getBucketLocation(params: OperateBucketParams, cb: Callback<BucketLocation>): void;
}
