/**
 * KiroGraph Config System
 *
 * Mirrors CodeGraph src/config.ts — load, save, validate, and provide defaults
 * for KiroGraph configuration.
 */
export interface KiroGraphConfig {
    version: number;
    languages: string[];
    include: string[];
    exclude: string[];
    maxFileSize: number;
    extractDocstrings: boolean;
    trackCallSites: boolean;
    enableEmbeddings: boolean;
    embeddingModel: string;
    embeddingDim: number;
    /** @deprecated Use semanticEngine instead. Kept for backwards compatibility. */
    useVecIndex: boolean;
    semanticEngine: 'cosine' | 'sqlite-vec' | 'orama' | 'pglite' | 'lancedb' | 'qdrant' | 'typesense';
    typesenseDashboard: boolean;
    qdrantDashboard: boolean;
    minLogLevel: 'debug' | 'info' | 'warn' | 'error';
    frameworkHints: string[];
    fuzzyResolutionThreshold: number;
    /** Enable architecture analysis (package graph + layer detection). Default: false. */
    enableArchitecture: boolean;
    /**
     * User-defined layer → glob pattern overrides.
     * When set, config-defined layers win over auto-detected ones.
     * Example: { "api": ["src/routes/**", "src/controllers/**"] }
     */
    architectureLayers?: Record<string, string[]>;
}
/**
 * Returns false if the pattern is potentially dangerous (ReDoS risk) or too long.
 * Checks for catastrophic backtracking patterns like (a+)+ or (a|a)+.
 */
export declare function isSafeRegex(pattern: string): boolean;
export declare function createDefaultConfig(_projectRoot?: string): KiroGraphConfig;
export declare function validateConfig(config: unknown): KiroGraphConfig;
export declare function loadConfig(projectRoot: string): Promise<KiroGraphConfig>;
export declare function saveConfig(projectRoot: string, config: KiroGraphConfig): Promise<void>;
export declare function updateConfig(projectRoot: string, patch: Partial<KiroGraphConfig>): Promise<KiroGraphConfig>;
export declare function addIncludePatterns(projectRoot: string, patterns: string[]): Promise<void>;
export declare function addExcludePatterns(projectRoot: string, patterns: string[]): Promise<void>;
export declare function shouldIncludeFile(config: KiroGraphConfig, relPath: string): boolean;
//# sourceMappingURL=config.d.ts.map