/**
 * Project stack detector for languages, frameworks, and workflow signals.
 * The setup pipeline and audit checks rely on this file to infer commands and template routing from repository contents.
 */
import type { StackInfo, ReadonlyFS } from "../types.js";
/** Setup-view command slots derived from the canonical stack detector. */
interface SetupCommandSlots {
    test: string;
    lint: string;
    build: string;
    format: string;
}
/** Setup-view stack summary consumed by the dashboard setup route. */
interface SetupStackSummary {
    languages: string[];
    frameworks: string[];
    commands: SetupCommandSlots;
}
/**
 * Detect languages and workflow commands from manifests and source files.
 *
 * Detector order intentionally preserves command priority: the first detector
 * that supplies a build/test/lint/format command wins, while language labels are
 * merged across all detectors.
 *
 * @param fs Read-only project filesystem abstraction.
 * @returns Canonical stack info, source count, and richer project signals.
 */
export declare function detectStack(fs: ReadonlyFS): StackInfo;
/**
 * Build the setup-view stack summary from the canonical detector output.
 *
 * @param fs Read-only project filesystem abstraction.
 * @returns Dashboard-friendly labels and command slots derived from `detectStack`.
 */
export declare function detectSetupStack(fs: ReadonlyFS): SetupStackSummary;
export {};
//# sourceMappingURL=project-stack.d.ts.map