import { AxiosRequestConfig } from 'axios'; import aws4 from 'aws4'; import { AxiosResponse } from 'axios'; import { CLOUD_PROVIDERS } from './providers'; import { S3RequestOptions, SERVICE_PROVIDER_CONFIG, S3UploadBufferOptions, S3UploadDataUrlOptions, S3GetOptions, S3PresignedUploadOptions } from './types'; export declare class FileNotFoundError extends Error { constructor(message: string); } export declare const getCloudUrl: (options: S3RequestOptions) => string; export declare const getFileKey: (options: S3RequestOptions) => string; export declare const getProviderConfig: (provider: CLOUD_PROVIDERS) => SERVICE_PROVIDER_CONFIG; export declare const getS3RequestObject: (options: S3RequestOptions, extendedRequestOptions?: { method: "GET" | "PUT" | "POST" | "DELETE" | "HEAD" | "OPTIONS" | "PATCH" | "TRACE"; [k: string]: any; }) => aws4.Request; export declare const s3Request: (options: S3RequestOptions, extendedRequestOptions?: { method: "GET" | "PUT" | "POST" | "DELETE" | "HEAD" | "OPTIONS" | "PATCH" | "TRACE"; [k: string]: any; }) => Promise>; export declare const uploadBuffer: (options: S3UploadBufferOptions) => Promise; export declare const upload: (options: S3UploadDataUrlOptions) => Promise; export declare const getObjectBinary: (options: S3GetOptions) => Promise; export declare const getTextFile: (options: S3GetOptions) => Promise; export declare const getObjectBuffer: (options: S3GetOptions) => Promise; export declare const getObjectDataUrl: (options: S3GetOptions) => Promise; export declare const getObject: (options: S3GetOptions, axiosOverride?: AxiosRequestConfig) => Promise; export declare const getPresignedUrl: (options: S3GetOptions, axiosOverride?: AxiosRequestConfig) => Promise; export declare const getPresignedUploadUrl: (options: S3PresignedUploadOptions) => Promise; export declare const deleteObject: (options: S3GetOptions, axiosOverride?: AxiosRequestConfig) => Promise; export declare const getObjectMetadata: (options: S3GetOptions, axiosOverride?: AxiosRequestConfig) => Promise<{ [k: string]: string; }>; export declare const objectExists: (options: S3GetOptions, axiosOverride?: AxiosRequestConfig) => Promise; export declare const getObjectEtag: (options: S3GetOptions, axiosOverride?: AxiosRequestConfig) => Promise;