import COS from 'cos-js-sdk-v5';
import { HashProgressInfo } from './util/calc.md5';
interface CreatedResult {
    id: string;
}
interface UploadActions {
    cancel: () => void;
    pause: () => void;
    restart: () => void;
}
interface Params {
    getToken: () => Promise<{
        sdk_access_token: string;
        upload_object_info: {
            bucket: string;
            object: string;
            region: string;
        };
    }>;
}
declare class UploadResult<T> extends Promise<T> {
    private actions;
    constructor(executor: (resolve: (value: T) => void, reject: (reason?: any) => void) => void, actions: UploadActions);
    cancel(): void;
    pause(): void;
    restart(): void;
}
declare class OpenAsset {
    constructor(props: Params);
    private getToken;
    upload({ id, asset_id, body, onHashProgress, onFileProgress, }: {
        id: string;
        asset_id: string;
        body: File;
        onHashProgress?: (info: HashProgressInfo) => void;
        onFileProgress?: (info: COS.ProgressInfo) => void;
    }): UploadResult<CreatedResult>;
}
export default OpenAsset;
//# sourceMappingURL=index.d.ts.map