/**
 * Smart .gitignore generator
 *
 * Generates appropriate .gitignore based on:
 * 1. Detected tech stack from existing files
 * 2. User's first prompt (framework hints)
 * 3. Project structure analysis
 *
 * For multi-repo projects, each repository can get its own tailored .gitignore.
 *
 * @since v1.0.130
 */
/**
 * Detected technology/framework in the project
 */
export interface DetectedTech {
    name: string;
    confidence: 'high' | 'medium' | 'low';
    source: 'file' | 'config' | 'prompt';
    category: TechCategory;
}
export type TechCategory = 'language' | 'framework' | 'build-tool' | 'database' | 'testing' | 'runtime' | 'platform';
/**
 * Tech stack detection result
 */
export interface TechStackDetection {
    detected: DetectedTech[];
    primary: string | null;
    categories: Map<TechCategory, string[]>;
}
/**
 * Detect tech stack from existing files in directory
 */
export declare function detectTechStack(targetDir: string, userPrompt?: string): Promise<TechStackDetection>;
/**
 * Generate .gitignore content based on detected tech stack
 */
export declare function generateGitignore(detection: TechStackDetection, options?: {
    includeSpecweave?: boolean;
    includeCommon?: boolean;
    customEntries?: string[];
}): string;
/**
 * Generate .gitignore for a specific repository in multi-repo setup
 */
export declare function generateRepoGitignore(repoPath: string, userPrompt?: string): Promise<string>;
/**
 * Write .gitignore to directory (merges with existing if present)
 */
export declare function writeGitignore(targetDir: string, content: string, options?: {
    merge?: boolean;
    backup?: boolean;
}): Promise<{
    action: 'created' | 'merged' | 'skipped';
    path: string;
}>;
/**
 * Main entry: detect and generate .gitignore for a project
 */
export declare function generateSmartGitignore(targetDir: string, userPrompt?: string, options?: {
    merge?: boolean;
    backup?: boolean;
    includeSpecweave?: boolean;
    verbose?: boolean;
}): Promise<{
    detection: TechStackDetection;
    result: {
        action: 'created' | 'merged' | 'skipped';
        path: string;
    };
}>;
//# sourceMappingURL=gitignore-generator.d.ts.map