export type NativeSafetySource = "env" | "bundled" | "target-release" | "target-debug" | "missing";
export type NativeSafetyStatus = "ok" | "warn" | "info";
export interface NativeSafetyResolution {
    ok: boolean;
    source: NativeSafetySource;
    path: string | null;
    platformArch: string;
    builtFromSource: boolean;
    message: string;
}
export interface NativeSafetySelfTest extends NativeSafetyResolution {
    status: NativeSafetyStatus;
    checks: number | null;
}
export interface NativeSafetyOptions {
    root?: string;
    packageRoot?: string;
    env?: NodeJS.ProcessEnv;
    platform?: NodeJS.Platform | string;
    arch?: string;
    timeoutMs?: number;
}
export declare function getNativePlatformArchKey(platform?: NodeJS.Platform | string, arch?: string): string;
export declare function getOmkSafetyBinaryName(platform?: NodeJS.Platform | string): string;
export declare function getOmkPackageRoot(): string;
export declare function getBundledOmkSafetyBinaryPath(packageRoot?: string, platform?: NodeJS.Platform | string, arch?: string): string;
export declare function resolveOmkSafetyNative(options?: NativeSafetyOptions): Promise<NativeSafetyResolution>;
export declare function runOmkSafetySelfTest(options?: NativeSafetyOptions): Promise<NativeSafetySelfTest>;
