import { ScanOptions, ScanResult } from './types';
/**
 * `UbonScan` is the orchestration layer: it picks scanners based on the
 * profile, runs them concurrently, applies fingerprinting / suppressions /
 * baseline, and hands the final list of `ScanResult`s to a reporter.
 *
 * It deliberately knows nothing about *how* results are rendered — that's
 * the job of `HumanReporter` / `InteractiveReporter` / the JSON writers in
 * `cli/shared.ts` / the upcoming MCP tools.
 */
export declare class UbonScan {
    private scanners;
    private linkScanner;
    private logger;
    private colorMode;
    private humanReporter;
    private interactiveReporter;
    constructor(verbose?: boolean, silent?: boolean, colorMode?: 'auto' | 'always' | 'never', quiet?: boolean);
    /**
     * Toggle quiet mode after construction. Used by `cli/shared.ts` when the
     * CLI flag `--quiet` is observed but the orchestrator was constructed
     * earlier (e.g. by the MCP server). Keeps the public ctor signature stable.
     */
    setQuiet(quiet: boolean): void;
    diagnose(options: ScanOptions): Promise<ScanResult[]>;
    private detectProfile;
    private resolveScanners;
    printResults(results: ScanResult[], options?: ScanOptions): Promise<void>;
    /** @deprecated Use the InteractiveReporter directly. Kept for back-compat. */
    runInteractive(results: ScanResult[], options: ScanOptions): Promise<void>;
    private filterResults;
    private applyFocusFilters;
    /**
     * Collapse findings that target the same `(ruleId, file, line)` tuple.
     * Multiple scanners (e.g. `security-scanner` + `react-security-scanner`)
     * sometimes match the same AST node and emit the same rule at the same
     * location; users see the redundancy as noise. Keep the highest-confidence
     * finding; tie-break on richer `match` context.
     */
    private dedupeResults;
    private computeFingerprint;
    private sortResults;
    private applyBaseline;
}
export * from './types';
export { SecurityScanner } from './scanners/security-scanner';
export { AstSecurityScanner } from './scanners/ast-security-scanner';
export { LinkScanner } from './scanners/link-scanner';
export { AccessibilityScanner } from './scanners/accessibility-scanner';
export { DevelopmentScanner } from './scanners/development-scanner';
export { EnvScanner } from './scanners/env-scanner';
export { IacScanner } from './scanners/iac-scanner';
export { OSVScanner } from './scanners/osv-scanner';
export { ViteScanner } from './scanners/vite-scanner';
export { ReactSecurityScanner } from './scanners/react-security-scanner';
export { ReactPatternsScanner } from './scanners/react-patterns-scanner';
export { AgentSettingsScanner } from './scanners/agent-settings-scanner';
export { LovableSupabaseScanner } from './scanners/lovable-supabase-scanner';
export { VibeScanner } from './scanners/vibe-scanner';
export { AIScanner } from './scanners/ai-scanner';
export { FrameworkScanner } from './scanners/framework-scanner';
export { BaseScanner } from './scanners/base-scanner';
export { HumanReporter } from './reporters/HumanReporter';
export { InteractiveReporter } from './reporters/InteractiveReporter';
export { calculateSecurityPosture } from './core/Posture';
//# sourceMappingURL=index.d.ts.map