import { FieldBuilder } from "../builder/FieldBuilder";
import { type WithNullableProp } from "../builder/mixins/WithNullable";
import { type WithReadableFunc } from "../builder/mixins/WithReadable";
import { type WithWritableFunc } from "../builder/mixins/WithWritable";
import { type WithDefaultFunc } from "../builder/mixins/WithDefault";
import { type WithValidateFunc } from "../builder/mixins/WithValidate";
export interface OptionFieldBuilder<T> extends FieldBuilder<T> {
    nullable: WithNullableProp<this>;
    readable: WithReadableFunc<this>;
    writable: WithWritableFunc<this>;
    default: WithDefaultFunc<this, T>;
    validate: WithValidateFunc<this>;
}
export declare function option<T = any>(valuesOrEnum: readonly T[] | Record<string, T>): OptionFieldBuilder<T>;
//# sourceMappingURL=option.factory.d.ts.map