import { JsonMap } from '@salesforce/ts-types';
/**
 * A parser for the CommunityCreateCommand varargs.
 */
export declare class CommunityNameValueParser {
    private patterns;
    /**
     * The caller/creator of the parser needs to pass in some patterns to validate.
     *
     * These patterns are joined together in a RegExp and matched against the "name" portion of the vararg.
     *
     * e.g.
     * let parser = new CommunityNameValueParser([ "name", "template" ]);
     * parser.parse([ "name=Demo", "template=\"Customer Service\"" ]); // passes
     * parser.parse([ "name=Demo", "urlpathprefix=pathToDemo" ]); // fails
     * parser.parse([ "nameOne=Demo" ]); // fails
     * parser.parse([ "thename=Demo" ]); // fails
     * parser.parse([ "Name=Demo" ]); // fails
     *
     * The patterns are joined between a /^(...)$/ RegExp enclosure so it only accepts exact matches that are case sensitive. (See validate().)
     *
     * However, you can use regular expressions to allow for pattern matches.
     *
     * let parser = new CommunityNameValueParser([ "name", "template\\.\\w+" ]);
     * parser.parse([ "template.anything=substance" ]); // passes
     * parser.parse([ "name=Demo", "template=\"Customer Service\"" ]); // fails
     * parser.parse([ "name=Demo", "template.=templateOne" ]); // fails
     */
    constructor(patternsToValidate?: string[]);
    parse(args: string[]): JsonMap;
    private parseKeyValuePairs;
    private validate;
    private buildJsonMapFromKeyValues;
    private setValue;
}
