import { ConfigInput, HotUpdaterConfigOptions, Platform } from "@hot-updater/plugin-core";
import { FingerprintSource } from "@expo/fingerprint";

//#region src/utils/fingerprint/common.d.ts

type FingerprintResult = {
  hash: string;
  sources: FingerprintSource[];
};
//#endregion
//#region src/utils/fingerprint/index.d.ts
declare const generateFingerprints: () => Promise<{
  ios: FingerprintResult;
  android: FingerprintResult;
}>;
declare const generateFingerprint: (platform: "ios" | "android") => Promise<FingerprintResult>;
declare const createAndInjectFingerprintFiles: ({
  platform
}?: {
  platform?: Platform;
}) => Promise<{
  ios: FingerprintResult;
  android: FingerprintResult;
}>;
declare const readLocalFingerprint: () => Promise<{
  ios: FingerprintResult | null;
  android: FingerprintResult | null;
} | null>;
//#endregion
//#region src/config.d.ts
declare const defineConfig: (config: ConfigInput | ((options: HotUpdaterConfigOptions) => ConfigInput)) => ConfigInput | ((options: HotUpdaterConfigOptions) => ConfigInput);
//#endregion
export { createAndInjectFingerprintFiles, defineConfig, generateFingerprint, generateFingerprints, readLocalFingerprint };