import type { StackDenyRule } from '../../types/permissions-config.js';
/** Test helper — clears both registry caches. Production never calls this. */
export declare function resetStackDetectorCaches(): void;
/**
 * Detect the project stack and return deny rules. Purely registry-driven —
 * this function knows nothing about specific frameworks or tools; it routes
 * detected tokens through the JSON registry.
 *
 * @param projectPath - Absolute path to the project root
 * @returns Array of StackDenyRule (stack token + deny pattern)
 */
export declare function collectStackDenyRules(projectPath: string): Promise<StackDenyRule[]>;
/**
 * Returns the always-on destructive patterns that apply to every project,
 * regardless of detected stack. Sourced from `alwaysDeny` in the registry.
 */
export declare function getAlwaysDenyRules(): Promise<string[]>;
/**
 * Returns the unique deny rule strings from a list of StackDenyRules.
 */
export declare function stackDenyRulesToStrings(rules: StackDenyRule[]): string[];
//# sourceMappingURL=stack-detectors.d.ts.map