import type { WithFieldBuilder } from "../types";
export type WithGenerateFunc<T, V> = {
    (fn: () => V): T;
    lazy(fn: () => V): T;
};
export declare function WithGenerate<TBase extends WithFieldBuilder>(Base: TBase): {
    new (...args: any[]): {
        readonly generate: WithGenerateFunc</*elided*/ any, any>;
        Field: import("../../core/types").FieldClass<any>;
        options: import("../../core/types").FieldOptions;
        getOption<K extends keyof import("../../core/types").FieldOptions>(option: K): import("../../core/types").FieldOptions[K];
        setOption<K extends keyof import("../../core/types").FieldOptions>(option: K, value: import("../../core/types").FieldOptions[K]): void;
        toField(model?: import("../../..").Model): import("../..").Field<any>;
    };
} & TBase;
//# sourceMappingURL=WithGenerate.d.ts.map