import { ValueTransformerOptions } from './ValueTransformerOptions';
export declare class Transformed {
    readonly value: unknown;
    constructor(value: unknown);
}
export declare abstract class Strategy {
    private readonly _recurse?;
    constructor(recurse?: (opts: ValueTransformerOptions) => unknown);
    protected recurse(opts: ValueTransformerOptions): unknown;
    protected abstract transform(opts: ValueTransformerOptions): Transformed | undefined;
    apply(opts: ValueTransformerOptions): Transformed | undefined;
}
