import { requireOptionalNativeModule } from 'expo-modules-core';

// Module natif Android (option B). Absent en Expo Go / iOS / ancien build sans
// le module -> requireOptionalNativeModule renvoie null et l'app retombe sur
// l'ecoute JS au premier plan (option A). On n'expose qu'un pilotage minimal.
const native = requireOptionalNativeModule('PhotoSyncBg');

// True seulement si le module natif est present dans ce build.
export const available: boolean = !!native;

// Demarre le service de premier plan (ContentObserver MediaStore -> sync instant).
export function start(): boolean {
  return native ? !!native.start() : false;
}

// Arrete le service de premier plan.
export function stop(): boolean {
  return native ? !!native.stop() : false;
}

// Pousse la config (JSON) que l'uploader natif lira en arriere-plan.
export function setConfig(json: string): boolean {
  return native ? !!native.setConfig(json) : false;
}
