export interface DeepWalkConfig {
}
export declare type WalkableType = Record<string, any> | Array<any>;
export declare type TransformFunction = (value: any) => Promise<any>;
export declare type TransformFunctionSync = (value: any) => any;
export declare class DeepWalk {
    config: DeepWalkConfig;
    constructor(config?: DeepWalkConfig);
    walk(value: WalkableType, transformValue: TransformFunction): Promise<WalkableType>;
    walkSync(value: WalkableType, transformValue: TransformFunctionSync): WalkableType;
    protected walkArray(originalValue: Array<any>, transformValue: TransformFunction): Promise<Array<any>>;
    protected walkArraySync(originalValue: Array<any>, transformValue: TransformFunctionSync): Array<any>;
    protected walkRecord(originalValue: Record<string, any>, transformValue: TransformFunction): Promise<Record<string, any>>;
    protected walkRecordSync(originalValue: Record<string, any>, transformValue: TransformFunctionSync): Record<string, any>;
}
