import { Logger } from '../options';
import { IndexDefinition } from './index-definition';
import { NodeMap } from './node-map';
/**
 * Loads index definitions from disk or stdin
 */
export declare class DefinitionLoader {
    private logger;
    constructor(logger?: Logger);
    /**
     * Loads definitions from disk
     */
    loadDefinitions(paths: string[]): Promise<{
        definitions: IndexDefinition[];
        nodeMap: NodeMap;
    }>;
    /**
     * Loads index definitions from a file
     */
    private loadDefinition;
    /**
     * @private
     * Loads index definitions from stdin
     */
    private loadFromStdIn;
    /**
     * Processes a definition and adds to the current definitions or
     *     applies overrides to the matching definition
     */
    private processConfiguration;
    /**
     * Validates a definition based on its type, throwing an exception
     * if there is a problem.
     */
    private validateConfiguration;
}
