import * as z from "zod";
import { ClosedEnum } from "../types/enums.js";
import { StateEnum } from "./stateenum.js";
/**
 * The type of the metadata field.
 */
export declare const Type: {
    readonly String: "string";
    readonly Integer: "integer";
    readonly Date: "date";
    readonly Enum: "enum";
    readonly Set: "set";
};
/**
 * The type of the metadata field.
 */
export type Type = ClosedEnum<typeof Type>;
export declare const Type$zodSchema: z.ZodEnum<{
    string: "string";
    date: "date";
    set: "set";
    enum: "enum";
    integer: "integer";
}>;
/**
 * The default value of the metadata field.
 */
export type DefaultValue = string | number;
export declare const DefaultValue$zodSchema: z.ZodType<DefaultValue>;
/**
 * The restrictions defined for the metadata field.
 */
export type Restrictions = {
    readonly_ui?: boolean | undefined;
};
export declare const Restrictions$zodSchema: z.ZodType<Restrictions>;
export type MetadataFieldValue = {
    external_id?: string | undefined;
    value?: string | undefined;
    position?: number | undefined;
    state?: StateEnum | undefined;
};
export declare const MetadataFieldValue$zodSchema: z.ZodType<MetadataFieldValue>;
/**
 * The datasource defined for the metadata field.
 */
export type Datasource = {
    values?: Array<MetadataFieldValue> | undefined;
};
export declare const Datasource$zodSchema: z.ZodType<Datasource>;
export type MetadataField = {
    type?: Type | undefined;
    external_id?: string | undefined;
    label?: string | undefined;
    mandatory?: boolean | null | undefined;
    default_value?: string | number | null | undefined;
    default_disabled?: boolean | null | undefined;
    validation?: {
        [k: string]: any;
    } | null | undefined;
    restrictions?: Restrictions | null | undefined;
    datasource?: Datasource | null | undefined;
    allow_dynamic_list_values?: boolean | null | undefined;
};
export declare const MetadataField$zodSchema: z.ZodType<MetadataField>;
//# sourceMappingURL=metadatafield.d.ts.map