/**
 * 🔧 Configuration Sources
 *
 * Different sources for configuration data with priority handling.
 */
import { ConfigSource } from './types';
export declare abstract class BaseConfigSource {
    abstract load(basePath?: string): Promise<ConfigSource | null>;
    abstract isAvailable(basePath?: string): Promise<boolean>;
}
/**
 * CLI Configuration Source - Highest priority
 */
export declare class CLIConfigSource extends BaseConfigSource {
    private cliArgs;
    constructor(cliArgs: Record<string, any>);
    isAvailable(): Promise<boolean>;
    load(): Promise<ConfigSource>;
}
/**
 * JavaScript Configuration File Source
 */
export declare class JSConfigSource extends BaseConfigSource {
    private filename;
    constructor(filename?: string);
    isAvailable(basePath?: string): Promise<boolean>;
    load(basePath?: string): Promise<ConfigSource | null>;
}
/**
 * JSON Configuration File Source
 */
export declare class JSONConfigSource extends BaseConfigSource {
    private filename;
    constructor(filename?: string);
    isAvailable(basePath?: string): Promise<boolean>;
    load(basePath?: string): Promise<ConfigSource | null>;
}
/**
 * .auditrc Configuration File Source
 */
export declare class AuditRCSource extends BaseConfigSource {
    private filename;
    constructor(filename?: string);
    isAvailable(basePath?: string): Promise<boolean>;
    load(basePath?: string): Promise<ConfigSource | null>;
}
/**
 * Package.json Configuration Source
 */
export declare class PackageJsonConfigSource extends BaseConfigSource {
    isAvailable(basePath?: string): Promise<boolean>;
    load(basePath?: string): Promise<ConfigSource | null>;
}
/**
 * Environment Variables Configuration Source
 */
export declare class EnvironmentConfigSource extends BaseConfigSource {
    isAvailable(): Promise<boolean>;
    load(): Promise<ConfigSource | null>;
}
/**
 * Default Configuration Source - Lowest priority
 */
export declare class DefaultConfigSource extends BaseConfigSource {
    isAvailable(): Promise<boolean>;
    load(): Promise<ConfigSource>;
}
//# sourceMappingURL=config-sources.d.ts.map