import { ServiceOption, InitOption } from "use-services";
import OSS from "ali-oss";
export declare type Option<S extends Service> = ServiceOption<Args, S>;
export interface Args {
    oss?: OSS.Options;
    sts?: {
        endpoint?: string;
        arn: string;
        policy: any;
        session: string;
        expiration?: number;
        options?: {
            timeout?: number;
        };
    };
}
export declare class Service {
    oss: OSS;
    private args;
    private sts;
    constructor(option: InitOption<Args, Service>);
    getStsData(sessionName?: string): Promise<STSData>;
}
export declare const init: (option: InitOption<unknown, Service>) => Promise<Service>;
export interface STSData {
    bucket: string;
    region: string;
    credentials: Credentials;
}
export interface Credentials {
    AccessKeyId: string;
    AccessKeySecret: string;
    Expiration: string;
    SecurityToken: string;
}
