import { PathExpression } from "@atomist/tree-path";
import { FileParser } from "./FileParser";
/**
 * Registry of FileParsers. Allows resolution of the appropriate parser
 * for a path expression
 */
export interface FileParserRegistry {
    /**
     * Find a parser for the given path expression.
     * It's first location step must start with a node name.
     * If the FileParser supports validation, validate that it
     * can execute the path expression and throw an exception if not.
     * @param {string | PathExpression} pex
     * @return {FileParser}
     */
    parserFor(pex: string | PathExpression): FileParser | undefined;
}
/**
 * Implementation of FileParserRegistry implementing fluent builder pattern
 */
export declare class DefaultFileParserRegistry implements FileParserRegistry {
    private readonly parserRegistry;
    addParser(pr: FileParser): this;
    parserFor(pathExpression: string | PathExpression): FileParser | any;
    toString(): string;
}
//# sourceMappingURL=FileParserRegistry.d.ts.map