import { Document } from '../../core/models/Document';
import { Node } from '../../core/models/Node';
import { ITraverser } from '../../core/visitors/ITraverser';
import { IVisitor } from '../../core/visitors/IVisitor';
import { CombinedAllNodeVisitor } from './CombinedAllNodeVisitor';
/**
 * Constructor.
 * @param {*} visitor
 * @class
 * @extends CombinedAllNodeVisitor
 * @author eric.wittmann@gmail.com
 */
export declare class CombinedReverseTraverser extends CombinedAllNodeVisitor implements ITraverser {
    visitor: IVisitor;
    constructor(visitor: IVisitor);
    /**
     * @see io.apicurio.datamodels.core.visitors.ITraverser#traverse(io.apicurio.datamodels.core.models.Node)
     * @param {Node} node
     */
    traverse(node: Node): void;
    /**
     * @see io.apicurio.datamodels.combined.visitors.CombinedAllNodeVisitor#visitNode(io.apicurio.datamodels.core.models.Node)
     * @param {Node} node
     */
    visitNode(node: Node): void;
    /**
     * @see io.apicurio.datamodels.combined.visitors.CombinedAllNodeVisitor#visitDocument(io.apicurio.datamodels.core.models.Document)
     * @param {Document} node
     */
    visitDocument(node: Document): void;
}
