/**
 * Function Classifier — Analyze exported functions to determine dangerous operations.
 *
 * For each exported function, extracts its body and scans for sink patterns
 * and source patterns to build a security profile. Used by cross-file taint
 * analysis to determine if calling an imported function can reach a sink.
 */
import type { ScanFile } from '../shared/types';
import type { ParsedExport } from './import-resolver';
import type { ModuleGraph } from './module-graph';
import type { SinkType, UserInputSourceType } from './taint-types';
export interface ExportedFunctionProfile {
    name: string;
    filePath: string;
    reachesSinks: SinkType[];
    returnsUserData: boolean;
    returnSourceType?: UserInputSourceType;
    hasSanitisation: boolean;
    paramNames: string[];
    dangerousParams: string[];
    line: number;
}
export type FunctionProfileMap = Map<string, ExportedFunctionProfile[]>;
/**
 * Classify exported functions in a file by their security profile.
 */
export declare function classifyExportedFunctions(content: string, filePath: string, fileExports: ParsedExport[]): ExportedFunctionProfile[];
/**
 * Build function profiles for all files that are imported by at least one other file.
 */
export declare function buildFunctionProfiles(files: ScanFile[], graph: ModuleGraph): FunctionProfileMap;
//# sourceMappingURL=function-classifier.d.ts.map