import { XcxNode } from '../class'; export declare namespace XcxTraverse { type VisitType = 'start' | 'end' | 'enter' | 'exit' | 'app' | 'page' | 'component' | 'pages' | 'components'; type VisitNode = VisitNodeFunction | VisitNodeObject; type VisitNodeFunction = (xcxNode: T) => void; interface VisitNodeObject { enter?(xcxNode: T): void; exit?(xcxNode: T): void; } interface Visitor extends VisitNodeObject { start?: () => void; end?: () => void; app?: VisitNode; page?: VisitNodeFunction; component?: VisitNodeFunction; pages?: VisitNodeFunction; components?: VisitNodeFunction; } interface Options extends Visitor { } } export declare class XcxTraverse { private options; private pages; private components; constructor(options: XcxTraverse.Options); static traverse(parent: XcxNode | XcxNode[], options: XcxTraverse.Options): void; traverse(parent: XcxNode | XcxNode[]): void; private pageReplacer(destRelative); private componentReplacer(destRelative); private recursive(parent); private resolve(xcxNode); private trigger(method, value); }