import type { TurboModule } from 'react-native/Libraries/TurboModule/RCTExport'; import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { getConstants: () => { downloadRootDir: string; packageVersion: string; currentVersion: string; isFirstTime: boolean; rolledBackVersion: string; buildTime: string; blockUpdate: Object; uuid: string; isUsingBundleUrl: boolean; }; setLocalHashInfo(hash: string, info: string): Promise; getLocalHashInfo(hash: string): Promise; setUuid(uuid: string): Promise; setBlockUpdate(options: { reason: string; until: number }): Promise; reloadUpdate(options: { hash: string }): Promise; setNeedUpdate(options: { hash: string }): Promise; markSuccess(): Promise; downloadPatchFromPpk(options: { updateUrl: string; hash: string; originHash: string; }): Promise; downloadPatchFromPackage(options: { updateUrl: string; hash: string; }): Promise; downloadFullUpdate(options: { updateUrl: string; hash: string; }): Promise; downloadAndInstallApk(options: { url: string; target: string; hash: string; }): Promise; addListener(eventName: string): void; removeListeners(count: number): void; } export default TurboModuleRegistry.get('Pushy') as Spec | null;