import type { WithFieldBuilder } from "../types";
import type { FieldAccessRule } from "../../core/types";
export type WithReadableFunc<T> = {
    (rule: FieldAccessRule): T;
};
export declare function WithReadable<T extends WithFieldBuilder>(Base: T): {
    new (...args: any[]): {
        readable(rule?: FieldAccessRule): /*elided*/ 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>;
    };
} & T;
//# sourceMappingURL=WithReadable.d.ts.map