declare const REACT_NATIVE_IAP_BILLING: ReadonlyArray<{ from: readonly [number, number, number]; module: 'com.android.billingclient:billing' | 'com.android.billingclient:billing-ktx'; version: string; /** The app's root `ext.playBillingSdkVersion` replaces the default. */ overridable?: true; }>; /** The Billing Library a stable react-native-iap release bundles by default, or null when it is not in the verified table. */ export declare function reactNativeIapBundledBilling(version: string): (typeof REACT_NATIVE_IAP_BILLING)[number] | null; /** The first react-native-iap release whose bundled Billing major is at least `minimumMajor`. */ export declare function reactNativeIapUpgradeTarget(minimumMajor: number): { version: string; billing: string; } | undefined; export type BillingComplianceStatus = 'pass' | 'warning' | 'blocker' | 'unresolved' | 'not_used'; export interface BillingEvidence { file: string; module: string; version?: string; expression?: string; source: 'literal' | 'variable' | 'version_catalog' | 'transitive' | 'unresolved'; /** The IAP wrapper package that brings Billing in transitively (e.g. react-native-iap), when there is one. */ wrapper?: { name: string; version: string; }; } export interface BillingComplianceResult { projectPath: string; checkedAt: string; status: BillingComplianceStatus; detectedVersions: string[]; evidence: BillingEvidence[]; policy: { minimumSupportedMajor: number | null; submissionDeadline: string; extensionDeadline: string; latestKnownMajor: number; scheduleCurrent: boolean; knownSchedule: Array<{ major: number; submissionDeadline: string; extensionDeadline: string; }>; sourceUrl: string; }; summary: string; actions: string[]; upgrade: { installCommand: string; prompt: string; automaticExecution: false; }; } export type BillingTransitiveResolver = (openIapVersion: string) => Promise<{ module: string; version: string; } | null>; export declare function billingVersionFromPom(pom: string): { module: string; version: string; } | null; /** * An app's root `ext.playBillingSdkVersion`, which react-native-iap 12.5.1–13.x use instead of their default: * a literal `version`, or the `expression` when it is set to something Release Doctor cannot evaluate. */ export interface ReactNativeIapBillingOverride { file: string; version?: string; expression?: string; } /** * `playBillingSdkVersion` set in a root build script, in Groovy (`ext { x = … }`, `ext.x = …`) or Kotlin DSL * (`extra["x"] = …`, `extra.set("x", …)`). A same-file `def/val/var name = "x.y.z"` is followed once. */ export declare function playBillingSdkOverride(text: string): Omit | undefined; export declare function checkBillingCompliance(projectPath: string, now?: Date, options?: { resolveTransitive?: BillingTransitiveResolver; }): Promise; export {};