/**
 * Project Context Inference
 *
 * Analyzes a repository root to infer domain, ecosystem, and description
 * without requiring user input. Used during `trellis init` to seed the
 * agent scaffold with meaningful context.
 *
 * @module trellis/scaffold/infer
 */
export type InferenceConfidence = 'high' | 'medium' | 'low';
export type FrameworkType = 'react' | 'vue' | 'svelte' | 'next' | 'nuxt' | 'remotion' | 'expo' | 'bun' | 'node' | 'cli' | 'library' | 'animation' | 'games' | 'none';
export interface ProjectContext {
    /** Inferred domain (e.g. 'animation-studio', 'web-app', 'library', etc.) */
    domain: string | null;
    /** Short human-readable description (from README or package.json) */
    description: string | null;
    /** Primary ecosystem (e.g. 'bun', 'node', 'python', 'rust') */
    ecosystem: string | null;
    /** Project name (from package.json or directory name) */
    name: string | null;
    /** Inferred framework (e.g. 'react', 'next', 'cli', etc.) */
    framework: FrameworkType | null;
    /** Approximate file count */
    fileCount: number;
    /** How confident the inference is — determines whether prompts fire */
    confidence: InferenceConfidence;
    /** Key indicator files that were detected */
    indicators: string[];
}
export interface InferOptions {
    /** Pre-computed file count from an existing scan (avoids double walk) */
    precomputedFileCount?: number;
}
/**
 * Infer project context from the filesystem without user input.
 *
 * @param rootPath - Absolute path to the project root
 * @param opts     - Optional pre-computed data to avoid duplicate work
 * @returns A ProjectContext object to seed the agent scaffold
 */
export declare function inferProjectContext(rootPath: string, opts?: InferOptions): Promise<ProjectContext>;
//# sourceMappingURL=infer.d.ts.map