import { Provider } from '../type';
import { SourceDescriptor } from './sourcedescriptor';
/**
 * BaseDirs holds the base directories for the configuration
 */
export interface BaseDirs {
    workingDir: string;
    modulesDir: string;
    publishDir: string;
    cacheDir: string;
}
/**
 * ConfigLoader loads and assembles configuration
 */
export declare class ConfigLoader {
    private cfg;
    private sourceDescriptor;
    private baseDirs;
    constructor(sourceDescriptor: SourceDescriptor, baseDirs: BaseDirs);
    /**
     * Load configuration by default
     */
    loadConfigByDefault(): Promise<Provider>;
    /**
     * Delete merge strategies
     */
    deleteMergeStrategies(): void;
    /**
     * Load provider from config file
     */
    private loadProvider;
    /**
     * Apply default configuration settings
     */
    private applyDefaultConfig;
    /**
     * Check if file exists
     */
    private fileExists;
    /**
     * Load configuration from file
     */
    private loadConfigFromFile;
}
//# sourceMappingURL=loader.d.ts.map