import type { Node, Parent } from 'unist';
export interface WalkerContext {
    skip(): void;
    break(): void;
    remove(): void;
    replace<N extends Node>(node: N): void;
}
export declare type VisitorFunction = (this: WalkerContext, node: Node, parent?: Parent, index?: number) => void;
export declare function walk<N extends Node>(node: N, { enter, leave }: {
    enter?: VisitorFunction;
    leave?: VisitorFunction;
}): Node;
