export interface CompilerInfo {
    compiler: string;
    isMSVC: boolean;
    isWindows: boolean;
    isGccOnWindows: boolean;
    isClangOnWindows: boolean;
    isEmcc: boolean;
}
export declare function getCompilerInfo(compiler: string): CompilerInfo;
export interface SanitizerOptions {
    sanitize: "address" | "leak" | "thread";
    compilerInfo: CompilerInfo;
}
export interface SanitizerFlags {
    flags: string[];
    warning?: string;
    info?: string;
}
export declare function checkCompilerAvailable(compiler: string): boolean;
export declare function findAvailableCompiler(): string | null;
export declare function getSanitizerFlags(options: SanitizerOptions): SanitizerFlags;
export declare function findClangAsanDllPath(compiler: string): string | undefined;
export declare function isLiburingAvailable(): boolean;
export declare function buildAsanRunEnvironment(options: {
    compilerInfo: CompilerInfo;
    asanDllPath?: string;
    lsanSuppressionFile?: string;
    detectLeaks?: boolean;
}): NodeJS.ProcessEnv;
export declare function getMacOSLsanSuppressions(): string;
