/** Minimal surface of `@react-native-async-storage/async-storage`'s default export. */ export interface AsyncStorageLike { getItem(key: string): Promise; setItem(key: string, value: string): Promise; removeItem(key: string): Promise; } /** Minimal surface of `expo-file-system`'s legacy string-based file API. */ export interface FileSystemLike { documentDirectory: string | null; writeAsStringAsync(fileUri: string, contents: string, options?: { encoding?: 'utf8' | 'base64'; }): Promise; } /** Minimal surface of `expo-sharing`. */ export interface SharingLike { shareAsync(uri: string): Promise; } /** Minimal surface of `expo-web-browser`. */ export interface WebBrowserLike { openAuthSessionAsync(url: string): Promise<{ type: string; }>; }