1export declare type DownloadOptions = { 2 md5?: boolean; 3 cache?: boolean; 4 headers?: { 5 [name: string]: string; 6 }; 7}; 8export declare type DownloadResult = { 9 uri: string; 10 status: number; 11 headers: { 12 [name: string]: string; 13 }; 14 md5?: string; 15}; 16export declare type DownloadProgressCallback = (data: DownloadProgressData) => void; 17export declare type DownloadProgressData = { 18 totalBytesWritten: number; 19 totalBytesExpectedToWrite: number; 20}; 21export declare type DownloadPauseState = { 22 url: string; 23 fileUri: string; 24 options: DownloadOptions; 25 resumeData?: string; 26}; 27export declare type FileInfo = { 28 exists: true; 29 uri: string; 30 size: number; 31 isDirectory: boolean; 32 modificationTime: number; 33 md5?: string; 34} | { 35 exists: false; 36 uri: string; 37 size: undefined; 38 isDirectory: false; 39 modificationTime: undefined; 40 md5: undefined; 41}; 42export declare enum EncodingType { 43 UTF8 = "utf8", 44 Base64 = "base64" 45} 46export declare type ReadingOptions = { 47 encoding?: EncodingType | 'utf8' | 'base64'; 48 position?: number; 49 length?: number; 50}; 51export declare type WritingOptions = { 52 encoding?: EncodingType | 'utf8' | 'base64'; 53}; 54export declare type ProgressEvent = { 55 uuid: string; 56 data: { 57 totalBytesWritten: number; 58 totalBytesExpectedToWrite: number; 59 }; 60}; 61declare type PlatformMethod = (...args: any[]) => Promise<any>; 62export interface ExponentFileSystemModule { 63 readonly name: 'ExponentFileSystem'; 64 readonly documentDirectory: string | null; 65 readonly cacheDirectory: string | null; 66 readonly bundledAssets: string | null; 67 readonly bundleDirectory: string | null; 68 readonly getInfoAsync?: PlatformMethod; 69 readonly readAsStringAsync?: PlatformMethod; 70 readonly writeAsStringAsync?: PlatformMethod; 71 readonly deleteAsync?: PlatformMethod; 72 readonly moveAsync?: PlatformMethod; 73 readonly copyAsync?: PlatformMethod; 74 readonly makeDirectoryAsync?: PlatformMethod; 75 readonly readDirectoryAsync?: PlatformMethod; 76 readonly downloadAsync?: PlatformMethod; 77 readonly downloadResumableStartAsync?: PlatformMethod; 78 readonly downloadResumablePauseAsync?: PlatformMethod; 79 readonly getContentUriAsync?: PlatformMethod; 80 readonly getFreeDiskStorageAsync?: PlatformMethod; 81 readonly getTotalDiskCapacityAsync?: PlatformMethod; 82 startObserving?: () => void; 83 stopObserving?: () => void; 84 addListener: (eventName: string) => void; 85 removeListeners: (count: number) => void; 86} 87export {}; 88