import type { Body, HttpRequest, S3 } from "./s3.js";
export declare class Uploader {
    S3: S3 | null;
    Payload: Uint8Array | string | Body | null;
    Key: string;
    Metadata: Record<string, string>;
    MaxConcurrency: number;
    MinPartSize: number;
    private uploadId;
    private uploadedParts;
    private used;
    Upload(ctx: AbortSignal | null, ...optReqFuncs: Array<(req: HttpRequest) => void>): Promise<void>;
    private validateAndNormalize;
    private singleUpload;
    private multipartInit;
    private multipartAbort;
    private multipartUpload;
    private uploadPart;
    private multipartComplete;
}
