import { type AddonSourceKind, type NativeAddon } from "./addon-source"; import { type MissingPrebuildIssue } from "./prebuilds"; import { type AbiIssue, type BareRuntimeResolution } from "./abi"; export interface VerifyBundleOptions { projectRoot: string; addonsSource: string; hosts: string[]; bareRuntimeVersion?: string; configPath?: string; } export interface InvalidSourceIssue { code: 'invalid-source'; level: 'error'; message: string; addonsSource: string; } export interface InvalidRuntimeVersionIssue { code: 'invalid-runtime-version'; level: 'error'; message: string; providedValue: string; source: 'flag' | 'config'; } export interface ConfigLoadFailedIssue { code: 'config-load-failed'; level: 'warning'; message: string; configPath: string; reason: string; } export interface InvalidPackageJsonIssue { code: 'invalid-package-json'; level: 'warning'; message: string; packageJsonPath: string; expectedName?: string; reason: string; } export interface EmptyBundleResolutionsIssue { code: 'empty-bundle-resolutions'; level: 'warning'; message: string; bundlePath: string; } export type VerifyBundleIssue = MissingPrebuildIssue | AbiIssue | InvalidSourceIssue | InvalidRuntimeVersionIssue | ConfigLoadFailedIssue | InvalidPackageJsonIssue | EmptyBundleResolutionsIssue; export interface VerifyBundleResult { addonsSource: string; resolvedAddonsSource: string; sourceKind: AddonSourceKind | null; hosts: string[]; runtime: BareRuntimeResolution | null; addons: NativeAddon[]; issues: VerifyBundleIssue[]; } export declare function verifyBundle(options: VerifyBundleOptions): Promise; export declare function hasErrors(result: VerifyBundleResult): boolean; export declare function hasWarnings(result: VerifyBundleResult): boolean; export declare function formatVerifyBundleResult(result: VerifyBundleResult): string; //# sourceMappingURL=index.d.ts.map