///
import { FetchApi, FetchInit, Response } from './fetch_api';
export declare enum S3ApiErrorName {
S3_API_BUNDLE_TOO_LARGE = "s3ApiBundleTooLarge",
S3_API_FAILED = "s3ApiFailed"
}
export interface S3ApiErrorBundleTooLarge {
type: S3ApiErrorName.S3_API_BUNDLE_TOO_LARGE;
}
export interface S3ApiErrorFailed {
type: S3ApiErrorName.S3_API_FAILED;
}
export declare type S3ApiErrorInfo = S3ApiErrorBundleTooLarge | S3ApiErrorFailed;
export interface S3SignedUploadInfo {
endpointUrl: string;
key: string | null;
keyPrefix: string | null;
params: {
[key: string]: string;
};
}
export interface UploadS3Bundle {
fileBuffer: Buffer;
uploadInfo: S3SignedUploadInfo;
authorization?: string;
}
export declare class S3Api extends FetchApi {
protected _invariantOkResponseAsync(init: FetchInit, response: Response): Promise;
uploadBundleAsync({ fileBuffer, authorization, uploadInfo, }: UploadS3Bundle): Promise;
}