/**
 * Gitignore Helper
 *
 * Shared module for checking and updating .gitignore files with recommended
 * AIWG runtime and provider directory patterns.
 *
 * @implements #553
 * @module src/config/gitignore
 */
/**
 * AIWG runtime subdirectories that should be gitignored.
 * NOTE: .aiwg/ itself is intentionally NOT included — it contains
 * project artifacts (requirements, architecture, etc.) that should be versioned.
 * Only the high-churn runtime subdirectories are ignored.
 */
export declare const AIWG_RUNTIME_PATTERNS: string[];
/**
 * Provider conventional directories for non-native deployments.
 * These are generated by `aiwg use` and should not be version-controlled.
 * Claude Code native dirs (.claude/agents/, .claude/skills/, etc.) are intentionally
 * excluded from this list — they are authored artifacts worth versioning.
 */
export declare const PROVIDER_CONVENTIONAL_PATTERNS: string[];
/**
 * Claude Code session state patterns (machine-local, should not be versioned).
 */
export declare const CLAUDE_SESSION_PATTERNS: string[];
/** All recommended patterns combined */
export declare const ALL_RECOMMENDED_PATTERNS: string[];
export interface GitignoreCheckResult {
    exists: boolean;
    missing: string[];
    missingRuntime: string[];
    missingProvider: string[];
    missingSession: string[];
}
export interface GitignoreAppendResult {
    added: string[];
    alreadyPresent: string[];
    created: boolean;
}
/**
 * Check which recommended patterns are missing from the project's .gitignore.
 */
export declare function checkGitignore(projectRoot: string): Promise<GitignoreCheckResult>;
/**
 * Append missing patterns to .gitignore, creating the file if it doesn't exist.
 * Patterns are grouped with comments.
 */
export declare function appendGitignore(projectRoot: string, patterns: string[]): Promise<GitignoreAppendResult>;
//# sourceMappingURL=gitignore.d.ts.map