1export declare enum FileSystemSessionType { 2 BACKGROUND = 0, 3 FOREGROUND = 1 4} 5export declare enum FileSystemUploadType { 6 BINARY_CONTENT = 0, 7 MULTIPART = 1 8} 9export declare type DownloadOptions = { 10 md5?: boolean; 11 cache?: boolean; 12 headers?: Record<string, string>; 13 sessionType?: FileSystemSessionType; 14}; 15export declare type FileSystemHttpResult = { 16 headers: Record<string, string>; 17 status: number; 18 mimeType: string | null; 19}; 20export declare type FileSystemDownloadResult = FileSystemHttpResult & { 21 uri: string; 22 md5?: string; 23}; 24/** 25 * @deprecated Use `FileSystemDownloadResult` instead. 26 */ 27export declare type DownloadResult = FileSystemDownloadResult; 28export declare type FileSystemUploadOptions = ({ 29 uploadType?: FileSystemUploadType.BINARY_CONTENT; 30} | { 31 uploadType: FileSystemUploadType.MULTIPART; 32 fieldName?: string; 33 mimeType?: string; 34 parameters?: Record<string, string>; 35}) & { 36 headers?: Record<string, string>; 37 httpMethod?: FileSystemAcceptedUploadHttpMethod; 38 sessionType?: FileSystemSessionType; 39}; 40export declare type FileSystemUploadResult = FileSystemHttpResult & { 41 body: string; 42}; 43export declare type DownloadProgressCallback = (data: DownloadProgressData) => void; 44export declare type DownloadProgressData = { 45 totalBytesWritten: number; 46 totalBytesExpectedToWrite: number; 47}; 48export declare type DownloadPauseState = { 49 url: string; 50 fileUri: string; 51 options: DownloadOptions; 52 resumeData?: string; 53}; 54export declare type FileInfo = { 55 exists: true; 56 uri: string; 57 size: number; 58 isDirectory: boolean; 59 modificationTime: number; 60 md5?: string; 61} | { 62 exists: false; 63 uri: string; 64 size: undefined; 65 isDirectory: false; 66 modificationTime: undefined; 67 md5: undefined; 68}; 69export declare enum EncodingType { 70 UTF8 = "utf8", 71 Base64 = "base64" 72} 73export declare type FileSystemAcceptedUploadHttpMethod = 'POST' | 'PUT' | 'PATCH'; 74export declare type ReadingOptions = { 75 encoding?: EncodingType | 'utf8' | 'base64'; 76 position?: number; 77 length?: number; 78}; 79export declare type WritingOptions = { 80 encoding?: EncodingType | 'utf8' | 'base64'; 81}; 82export declare type ProgressEvent = { 83 uuid: string; 84 data: { 85 totalBytesWritten: number; 86 totalBytesExpectedToWrite: number; 87 }; 88}; 89export declare type FileSystemRequestDirectoryPermissionsResult = { 90 granted: true; 91 directoryUri: string; 92} | { 93 granted: false; 94}; 95declare type PlatformMethod = (...args: any[]) => Promise<any>; 96export interface ExponentFileSystemModule { 97 readonly name: 'ExponentFileSystem'; 98 readonly documentDirectory: string | null; 99 readonly cacheDirectory: string | null; 100 readonly bundledAssets: string | null; 101 readonly bundleDirectory: string | null; 102 readonly getInfoAsync?: PlatformMethod; 103 readonly readAsStringAsync?: PlatformMethod; 104 readonly writeAsStringAsync?: PlatformMethod; 105 readonly deleteAsync?: PlatformMethod; 106 readonly moveAsync?: PlatformMethod; 107 readonly copyAsync?: PlatformMethod; 108 readonly makeDirectoryAsync?: PlatformMethod; 109 readonly readDirectoryAsync?: PlatformMethod; 110 readonly downloadAsync?: PlatformMethod; 111 readonly uploadAsync?: PlatformMethod; 112 readonly downloadResumableStartAsync?: PlatformMethod; 113 readonly downloadResumablePauseAsync?: PlatformMethod; 114 readonly getContentUriAsync?: PlatformMethod; 115 readonly getFreeDiskStorageAsync?: PlatformMethod; 116 readonly getTotalDiskCapacityAsync?: PlatformMethod; 117 readonly requestDirectoryPermissionsAsync?: PlatformMethod; 118 readonly readSAFDirectoryAsync?: PlatformMethod; 119 readonly makeSAFDirectoryAsync?: PlatformMethod; 120 readonly createSAFFileAsync?: PlatformMethod; 121 startObserving?: () => void; 122 stopObserving?: () => void; 123 addListener: (eventName: string) => void; 124 removeListeners: (count: number) => void; 125} 126export {}; 127