export type UnsafeSubKind = "extern-call" | "deref" | "arith" | "addr-of" | "other";
export interface UnsafeFinding {
    file: string;
    line: number;
    column: number;
    kind: "unsafe" | "asm" | "extern" | "pragma";
    subKind?: UnsafeSubKind;
    calleeName?: string;
    snippet: string;
    safetyComment?: string;
}
export interface UnsafeReport {
    privilegedFiles: string[];
    findings: UnsafeFinding[];
    totals: {
        filesScanned: number;
        privileged: number;
        unsafeSites: number;
        unsafeBySubKind: Record<UnsafeSubKind, number>;
        asmSites: number;
        externSites: number;
    };
    topExternCallees: Array<{
        callee: string;
        count: number;
    }>;
}
export declare function generateUnsafeReport(rootPath: string): UnsafeReport;
export declare function formatUnsafeReport(report: UnsafeReport): string;
