/**
 * Parse Slither JSON outputs for various printers and detectors.
 */
export interface SlitherFunctionSummary {
    contract: string;
    function: string;
    visibility: string;
    modifiers: string[];
    readVars: string[];
    writeVars: string[];
    internalCalls: string[];
    externalCalls: string[];
}
export interface SlitherDetectorResult {
    check: string;
    impact: string;
    confidence: string;
    description: string;
    elements: SlitherElement[];
}
export interface SlitherElement {
    type: string;
    name: string;
    source_mapping: {
        filename_relative: string;
        lines: number[];
        starting_column: number;
        ending_column: number;
    };
    type_specific_fields?: Record<string, unknown>;
}
export interface SlitherDataDependency {
    contract: string;
    variable: string;
    dependencies: string[];
}
/**
 * Parse Slither's function-summary printer output.
 */
export declare function parseFunctionSummary(json: unknown): SlitherFunctionSummary[];
/**
 * Parse Slither detector results.
 */
export declare function parseDetectors(json: unknown): SlitherDetectorResult[];
/**
 * Parse Slither data-dependency printer output.
 */
export declare function parseDataDependency(json: unknown): SlitherDataDependency[];
/**
 * Parse Slither call-graph printer output into caller→callee edges.
 */
export declare function parseCallGraph(json: unknown): Array<{
    caller: {
        contract: string;
        function: string;
    };
    callee: {
        contract: string;
        function: string;
    };
    isExternal: boolean;
}>;
//# sourceMappingURL=slither.d.ts.map