import type { Scanner, ScanOptions } from '../types';
/**
 * Profile registry — single source of truth for "what runs under this profile".
 *
 * Each entry is a small factory that takes the resolved scan options (so we can
 * gate expensive scanners with `--fast`) and returns the ordered scanner list.
 *
 * No new scanner classes are introduced per profile; everything composes from
 * the existing scanner pool. To add a new profile, just register a new entry.
 */
export type ProfileName = NonNullable<ScanOptions['profile']>;
interface BuildContext {
    fast: boolean;
}
export type ProfileBuilder = (ctx: BuildContext) => Scanner[];
export declare const PROFILES: Record<ProfileName, ProfileBuilder>;
/**
 * Profiles that existed in v2.x and were removed in v3.0.0. Kept here so
 * `--profile python|rails|vue` produces a clear error pointing at the
 * migration guide instead of silently falling back to `auto`.
 */
export declare const REMOVED_PROFILES: Record<string, string>;
export declare function resolveScanners(profile: ProfileName | undefined, fast: boolean | undefined): Scanner[];
export {};
//# sourceMappingURL=profiles.d.ts.map