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'; } 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; export declare function checkBillingCompliance(projectPath: string, now?: Date, options?: { resolveTransitive?: BillingTransitiveResolver; }): Promise;