export declare type progressListener = (processedBytes: number, targetBytes: number) => void;
export declare type ProgressEvent = {
    requestId: string;
    processedBytes: number;
    targetBytes: number;
};
export declare type UploadObjectRequest = {
    requestId?: string;
    bucket: string;
    object: string;
    fileUri: string;
};
export declare type UploadObjectResult = {
    Bucket: string;
    Key: string;
    Location: string;
    ETag: string;
    VersionID: string | null;
};
export declare type DownloadObjectRequest = {
    requestId?: string;
    bucket: string;
    object: string;
    filePath?: string;
};
export declare type Secret = {
    secretId: string;
    secretKey: string;
};
export declare type SessionCredential = {
    tmpSecretId: string;
    tmpSecretKey: string;
    sessionToken: string;
    expiredTime: number;
    beginTime: number;
};
declare class COSTransferManagerService {
    private callbacks;
    private requests;
    private emitter;
    private initialized;
    constructor();
    initWithPlainSecret(configurations: object, credential: Secret): void;
    initWithSessionCredentialCallback(configurations: object, callback: () => Promise<SessionCredential>): void;
    upload(request: UploadObjectRequest, progressListener?: progressListener): Promise<UploadObjectResult>;
    pause(request: UploadObjectRequest): Promise<void>;
    download(request: DownloadObjectRequest, progressListener?: progressListener): Promise<string>;
    private removeRequestIdRecord;
    private uniqueRequestId;
}
declare const _default: COSTransferManagerService;
export default _default;
