import Dexie, { Table } from "dexie";
export declare type BucketInfoType = {
    accelerate_host: string;
    base_host: string;
    crop_host: string;
    provider: string;
    bucket_id: string;
    bucket_name: string;
    region: string;
    expire: number;
    sts: StsType;
};
export declare type StsType = {
    access_key_id: string;
    access_key_secret: string;
    expire: number;
    session_token: string;
};
export declare type AwsBasicInfo = {
    s3_bucket: string;
    s3_region: string;
    bucket_id: string;
};
declare class BucketInfo {
    db?: Dexie;
    bucketInfo?: Table<BucketInfoType>;
    private validBucket;
    private basicAwsInfo;
    static authorize: boolean;
    private bufferTime;
    init(db: Dexie): Promise<void>;
    isExpired(num: number): boolean;
    get bucket(): BucketInfoType | null;
    lastBucketInfo(id: string): import("dexie").PromiseExtended<null | undefined> | undefined;
    addNewBucketInfo(data: BucketInfoType): import("dexie").PromiseExtended<void> | undefined;
    initBucketInfo(): Promise<void>;
    setAwsBasicInfo(info: AwsBasicInfo): void;
    get basicBucketInfo(): AwsBasicInfo | null;
}
declare const bucketInfo: BucketInfo;
export default bucketInfo;
