import { BooleanField, type BooleanFieldConfig, booleanFieldConfigSchema } from "./BooleanField";
import { DateField, type DateFieldConfig, dateFieldConfigSchema } from "./DateField";
import { EnumField, type EnumFieldConfig, enumFieldConfigSchema } from "./EnumField";
import { JsonField, type JsonFieldConfig, jsonFieldConfigSchema } from "./JsonField";
import { JsonSchemaField, type JsonSchemaFieldConfig, jsonSchemaFieldConfigSchema } from "./JsonSchemaField";
import { NumberField, type NumberFieldConfig, numberFieldConfigSchema } from "./NumberField";
import { PrimaryField, type PrimaryFieldConfig, primaryFieldConfigSchema } from "./PrimaryField";
import { TextField, type TextFieldConfig, textFieldConfigSchema } from "./TextField";
export { PrimaryField, primaryFieldConfigSchema, type PrimaryFieldConfig, BooleanField, booleanFieldConfigSchema, type BooleanFieldConfig, DateField, dateFieldConfigSchema, type DateFieldConfig, EnumField, enumFieldConfigSchema, type EnumFieldConfig, JsonField, jsonFieldConfigSchema, type JsonFieldConfig, JsonSchemaField, jsonSchemaFieldConfigSchema, type JsonSchemaFieldConfig, NumberField, numberFieldConfigSchema, type NumberFieldConfig, TextField, textFieldConfigSchema, type TextFieldConfig, };
export * from "./Field";
export * from "./PrimaryField";
export * from "./VirtualField";
export * from "./indices/EntityIndex";
export declare const FieldClassMap: {
    readonly primary: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>;
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly format: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, "integer" | "uuid" | undefined, "integer" | "uuid" | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof PrimaryField;
    };
    readonly text: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly minLength: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
            readonly maxLength: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
            readonly pattern: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly html_config: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, {
                [x: string]: unknown;
                element?: string | undefined;
                props?: {
                    [x: string]: string | number;
                } | undefined;
            } | undefined, {
                [x: string]: unknown;
                element?: string | undefined;
                props?: {
                    [x: string]: string | number;
                } | undefined;
            } | undefined>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof TextField;
    };
    readonly number: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
            readonly minimum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
            readonly maximum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
            readonly exclusiveMinimum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
            readonly exclusiveMaximum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
            readonly multipleOf: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof NumberField;
    };
    readonly boolean: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof BooleanField;
    };
    readonly date: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>;
            readonly type: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, "date" | "week" | "datetime" | undefined, "date" | "week" | "datetime" | undefined>;
            readonly timezone: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly min_date: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly max_date: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof DateField;
    };
    readonly enum: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly options: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, {
                [x: string]: unknown;
                values: string[];
                type: "strings";
            } | {
                [x: string]: unknown;
                values: {
                    [x: string]: unknown;
                    value: string;
                    label: string;
                }[];
                type: "objects";
            } | undefined, any>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof EnumField;
    };
    readonly json: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof JsonField;
    };
    readonly jsonschema: {
        readonly schema: import("jsonv-ts").ObjectSchema<{
            readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>;
            readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>;
            readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>;
            readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
            readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>;
            readonly schema: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>;
            readonly ui_schema: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>;
            readonly default_from_schema: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>;
        }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & {
            additionalProperties: false;
        }>>;
        readonly field: typeof JsonSchemaField;
    };
};
export { fieldTestSuite } from "./field-test-suite";
