/**
 * @memberof module:@citation-js/core.plugins.input.util
 * @param {module:@citation-js/core.plugins.input~typeParser} data
 */
export class TypeParser {
    constructor(data: any);
    /**
     * @access protected
     * @type {Array<module:@citation-js/core.plugins.input~dataType>}
     */
    validDataTypes: Array<NodeModule>;
    data: any;
    /**
     * @access protected
     * @throws {RangeError} if dataType is not valid
     */
    validateDataType(): void;
    /**
     * @access protected
     * @throws {TypeError} if predicate is not valid
     */
    validateParseType(): void;
    /**
     * @access protected
     * @throws {TypeError} if predicate is not valid
     */
    validateTokenList(): void;
    /**
     * @access protected
     * @throws {TypeError} if propertyConstraint is not valid
     */
    validatePropertyConstraint(): void;
    /**
     * @access protected
     * @throws {TypeError} if elementConstraint is not valid
     */
    validateElementConstraint(): void;
    /**
     * @access protected
     * @throws {TypeError} if extends is not valid
     */
    validateExtends(): void;
    /**
     * @access public
     * @throws {TypeError|RangeError} if typeParser is not valid
     */
    validate(): void;
    /**
     * @access protected
     * @return {Array<module:@citation-js/core.plugins.input~predicate>}
     */
    parseTokenList(): Array<NodeModule>;
    /**
     * @access protected
     * @return {Array<module:@citation-js/core.plugins.input~predicate>}
     */
    parsePropertyConstraint(): Array<NodeModule>;
    /**
     * @access protected
     * @return {Array<module:@citation-js/core.plugins.input~predicate>}
     */
    parseElementConstraint(): Array<NodeModule>;
    /**
     * @access protected
     * @return {Array<module:@citation-js/core.plugins.input~predicate>}
     */
    parsePredicate(): Array<NodeModule>;
    /**
     * @access protected
     * @return {module:@citation-js/core.plugins.input~predicate}
     */
    getCombinedPredicate(): any;
    /**
     * @access protected
     * @return {module:@citation-js/core.plugins.input~dataType}
     */
    getDataType(): any;
    /**
     * @type {module:@citation-js/core.plugins.input~dataType}
     */
    get dataType(): any;
    /**
     * @type {module:@citation-js/core.plugins.input~predicate}
     */
    get predicate(): any;
    /**
     * @type {module:@citation-js/core.plugins.input~format}
     */
    get extends(): any;
}
/**
 * @memberof module:@citation-js/core.plugins.input.util
 * @param {module:@citation-js/core.plugins.input~dataParser|module:@citation-js/core.plugins.input~asyncDataParser} parser
 * @param {Object} options
 * @param {Boolean} [options.async=false]
 */
export class DataParser {
    constructor(parser: any, { async }?: {
        async: any;
    });
    parser: any;
    async: any;
    /**
     * @throws {TypeError} if dataParser is not valid
     */
    validate(): void;
}
/**
 * @memberof module:@citation-js/core.plugins.input.util
 * @param {module:@citation-js/core.plugins.input~format} format
 * @param {module:@citation-js/core.plugins.input~parsers} parsers
 */
export class FormatParser {
    constructor(format: any, parsers?: {});
    format: any;
    typeParser: TypeParser;
    dataParser: DataParser;
    asyncDataParser: DataParser;
    /**
     * @access protected
     * @throws {TypeError} if format is not valid
     */
    validateFormat(): void;
    /**
     * @throws {TypeError} if formatParser is not valid
     */
    validate(): void;
}
