/**
 * Detection Stage — Runs Layer 1 + Layer 2 detectors and handles localhost aggregation.
 *
 * Returns raw findings before noisy aggregation/enrichment (those are called
 * by the orchestrator to keep stage boundaries clean).
 */
import type { ScanFile, Vulnerability, CancellationToken, DetectorContext, ProgressCallback } from '../shared/types';
import type { MiddlewareAuthConfig } from '../model/middleware-detector';
import type { FileAuthImports } from '../model/imported-auth-detector';
import type { FilterPipeline } from '../postprocess/filtering/pipeline';
export interface DetectorInput {
    files: ScanFile[];
    middlewareConfig?: MiddlewareAuthConfig;
    fileAuthImports?: Map<string, FileAuthImports>;
    detectorContext: DetectorContext;
    onProgress?: ProgressCallback;
    cancellationToken?: CancellationToken;
    filterPipeline: FilterPipeline;
    repoName: string;
    quiet: boolean;
}
export interface DetectorOutput {
    /** Combined Layer 1 + Layer 2 findings (after localhost aggregation) */
    findings: Vulnerability[];
    /** Phase timing */
    phaseTiming: {
        layer1?: number;
        layer2?: number;
    };
}
/**
 * Run all detectors (Layer 1 + Layer 2) and return combined raw findings.
 */
export declare function runDetectors(input: DetectorInput): Promise<DetectorOutput>;
export { runLayer1Scan, type Layer1Result } from './secrets';
export { runLayer2Scan, type Layer2Result } from './structural';
//# sourceMappingURL=index.d.ts.map