import Context from "../context/context";
import { ExtendedMessageManager } from "../message";
import { Parser } from "./parser";
type legFuncion = (ctx: Context, version: string, tag: any, payload: any) => [any | null, Error | null];
export declare class Walker {
    private meta;
    private manager;
    constructor(manager: ExtendedMessageManager);
    getMetadataVersion(): string;
    getMetadataProvider(): string;
    load(ctx: Context, metaRef: string): Promise<Error | undefined>;
    walk<R>(ctx: Context, schemaKey: string, config: {
        retriever: 'object' | 'string';
        function?: legFuncion;
        parser?: Parser<any, any>;
        injectTags?: Record<string, string>;
    }): Promise<[Array<R> | null, Error | null]>;
}
export {};
