/**
 * Suppression Config Loader
 * Loads and validates suppression configuration from various file formats
 */
import type { SuppressionConfig, RuleSuppression, FindingSuppression } from './types';
/**
 * Result of loading suppression config
 */
export interface ConfigLoadResult {
    /** The loaded config (or default if none found) */
    config: SuppressionConfig;
    /** Path to the config file (if found) */
    configPath?: string;
    /** Whether a config file was found */
    found: boolean;
    /** Any errors encountered during loading */
    errors: string[];
}
/**
 * Find the config file by walking up the directory tree
 */
export declare function findConfigFile(startPath: string): string | null;
/**
 * Load suppression config from a specific path
 */
export declare function loadConfigFromPath(configPath: string): ConfigLoadResult;
/**
 * Load suppression config from a project directory
 * Searches up the directory tree for a config file
 */
export declare function loadSuppressionConfig(projectPath: string): ConfigLoadResult;
/**
 * Write suppression config to a file
 */
export declare function writeSuppressionConfig(configPath: string, config: SuppressionConfig): void;
/**
 * Add a finding suppression to the config file
 */
export declare function addFindingSuppression(projectPath: string, suppression: FindingSuppression): {
    success: boolean;
    configPath: string;
    error?: string;
};
/**
 * Remove a finding suppression from the config file
 */
export declare function removeFindingSuppression(projectPath: string, hash: string): {
    success: boolean;
    configPath?: string;
    error?: string;
    removed: boolean;
};
/**
 * Add a rule suppression to the config file
 */
export declare function addRuleSuppression(projectPath: string, suppression: RuleSuppression): {
    success: boolean;
    configPath: string;
    error?: string;
};
/**
 * List all suppressions in the config
 */
export declare function listSuppressions(projectPath: string): {
    rules: RuleSuppression[];
    findings: FindingSuppression[];
    configPath?: string;
    errors: string[];
};
/**
 * Check if a date string is expired
 */
export declare function isExpired(dateString: string | undefined): boolean;
//# sourceMappingURL=config-loader.d.ts.map