import { type NativeAddon } from "./addon-source"; export interface BareRuntime { version: string; source: "flag" | "config" | "bare-runtime" | "bare"; } export interface UnresolvedBareRuntime { reason: string; triedPaths: string[]; } export interface ResolveBareRuntimeOptions { projectRoot: string; explicitVersion?: string; explicitSource?: "flag" | "config"; } export type BareRuntimeResolution = { resolved: true; runtime: BareRuntime; } | { resolved: false; error: UnresolvedBareRuntime; }; export interface AbiMismatchIssue { code: "abi-mismatch"; level: "error"; addon: string; message: string; enginesBare: string; runtimeVersion: string; } export interface UnknownRuntimeIssue { code: "unknown-runtime-version"; level: "warning"; message: string; triedPaths: string[]; } export interface MalformedEnginesBareIssue { code: "malformed-engines-bare"; level: "warning"; addon: string; enginesBare: string; message: string; } export type AbiIssue = AbiMismatchIssue | UnknownRuntimeIssue | MalformedEnginesBareIssue; export interface CheckAbiOptions { addons: NativeAddon[]; runtime: BareRuntimeResolution; } export declare function resolveBareRuntime(options: ResolveBareRuntimeOptions): Promise; export declare function normalizeVersion(value: string): string | null; export declare function formatConfigLabel(projectRoot: string, configPath?: string): string; export declare function checkAbi(options: CheckAbiOptions): AbiIssue[]; //# sourceMappingURL=abi.d.ts.map