import { Document } from '../models/Document';
import { ITraverser } from '../visitors/ITraverser';
import { IVisitor } from '../visitors/IVisitor';
import { TraverserDirection } from '../visitors/TraverserDirection';
/**
 * Creates a traverser for a particular data model.
 *
 * @author eric.wittmann@gmail.com
 * @class
 */
export declare class TraverserFactory {
    /**
     * Create the appropriate traverser for the given document/data model.
     *
     * @param {Document} doc
     * @param {*} visitor
     * @param {TraverserDirection} direction
     * @return {*}
     */
    static create(doc: Document, visitor: IVisitor, direction: TraverserDirection): ITraverser;
}
