import type { S3ClientConfig, PutObjectCommandInput } from '@aws-sdk/client-s3';
import { Client } from '../oss_client';
import type { OSSUploadOptions, OSSUploadLocalItem } from '../types';
import type { UploadResp, UploadOptions } from '../oss_client';
declare class S3Client extends Client<Partial<S3ClientConfig>, PutObjectCommandInput> {
    #private;
    constructor(options: OSSUploadOptions);
    getUploadedUrl: (item: OSSUploadLocalItem, params: Partial<any> | undefined) => Promise<UploadResp>;
    get globalOptions(): Partial<Partial<S3ClientConfig>>;
    get globalUploadParams(): Partial<PutObjectCommandInput>;
    getTimeout(): number;
    upload: (item: OSSUploadLocalItem, params?: Partial<PutObjectCommandInput> | undefined, options?: UploadOptions | undefined) => Promise<UploadResp>;
}
export default S3Client;
