import type { TurboModule } from 'react-native'; import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes'; export declare enum UploadState { done = "done", initialized = "initialized", started = "started", canceled = "canceled", paused = "paused", error = "error" } export type UploadProgress = { uploadId: string; progress: number; }; export type UploadStateChange = { uploadId: string; state: UploadState; }; export type PartCompletionInfo = { ETag: string; PartNumber: number; }; export type FileCompletionInfo = { awsUploadId: string; awsKey: string; parts: PartCompletionInfo[]; }; export interface Spec extends TurboModule { getUploads(): string[]; getUploadInfo(id: string): FileCompletionInfo[]; upload(id: string, fileDirs: string[]): void; cancel(id: string): Promise; pause(id: string): Promise; resume(id: string): Promise; restart(id: string): Promise; getProgress(id: string): number; getState(id: string): UploadState; listenersReady(): void; clear(id: string): void; readonly onUploadProgress: EventEmitter; readonly onUploadStateChange: EventEmitter; } declare const _default: Spec; export default _default; //# sourceMappingURL=NativeS3Uploader.d.ts.map