import { Callback, AsyncCallbackFn, CallbackFn, GraphMode, NodeFilterFn, PartialConfig, CallbackTiming, TraversalMode } from "./types"; import { WalkNode } from "./node"; declare class CallbacksBuilder> { private cbs; private source; private readonly callback; constructor(cbs: T[], source: TUpper); withExecutionOrder(order: number): this; withFilter(fn: NodeFilterFn): this; withFilters(...fn: NodeFilterFn[]): this; withTiming(timing: CallbackTiming): this; done(): TUpper; } declare abstract class BaseWalkBuilder { protected _config: PartialConfig; private globalFilters; resetConfig(): this; withConfig(config: PartialConfig): this; withTraversalMode(traversalMode: TraversalMode): this; withGraphMode(graphMode: GraphMode): this; withConfiguredCallbacks(...callbacks: T[]): CallbacksBuilder; withConfiguredCallback(callback: T): CallbacksBuilder; withCallback(callback: Partial>): this; withGlobalFilter(fn: NodeFilterFn): this; withCallbacks(...callbacks: Partial>[]): this; getCurrentConfig(): PartialConfig; } export declare class WalkBuilder extends BaseWalkBuilder { walk(target: any): void; walkStep(target: any): Generator; withSimpleCallback(callback: CallbackFn): this; withSimpleCallbacks(...callbacks: CallbackFn[]): this; } export declare class AsyncWalkBuilder extends BaseWalkBuilder { walk(target: any): Promise; walkStep(target: any): AsyncGenerator, unknown>; withParallelizeAsyncCallbacks(val: boolean): this; withSimpleCallback(callback: AsyncCallbackFn): this; withSimpleCallbacks(...callbacks: AsyncCallbackFn[]): this; } export {};