import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { FormFieldOption } from "./formfieldoption.js";
export declare const FormFieldType: {
    readonly Text: "text";
    readonly Checkbox: "checkbox";
    readonly Tel: "tel";
    readonly Email: "email";
    readonly Url: "url";
    readonly Textarea: "textarea";
    readonly Select: "select";
    readonly FilteredSelect: "filtered-select";
    readonly MultiSelect: "multi-select";
    readonly Datetime: "datetime";
    readonly Date: "date";
    readonly Time: "time";
    readonly Number: "number";
    readonly Password: "password";
};
export type FormFieldType = ClosedEnum<typeof FormFieldType>;
export type FormField = {
    /**
     * The unique identifier of the form field.
     */
    id?: string | undefined;
    /**
     * The label of the field
     */
    label?: string | undefined;
    /**
     * The placeholder for the form field
     */
    placeholder?: string | null | undefined;
    /**
     * The description of the form field
     */
    description?: string | null | undefined;
    type?: FormFieldType | undefined;
    /**
     * Indicates if the form field is required, which means it must be filled in before the form can be submitted
     */
    required?: boolean | undefined;
    customField?: boolean | undefined;
    /**
     * Only applicable to select fields. Allow the user to add a custom value though the option select if the desired value is not in the option select list.
     */
    allowCustomValues?: boolean | undefined;
    /**
     * Indicates if the form field is displayed in a “read-only” mode.
     */
    disabled?: boolean | null | undefined;
    /**
     * Indicates if the form field is not displayed but the value that is being stored on the connection.
     */
    hidden?: boolean | null | undefined;
    /**
     * When the setting is deprecated, it should be hidden from the user interface. The value will still be stored on the connection for the sake of backwards compatibility.
     */
    deprecated?: boolean | null | undefined;
    /**
     * Indicates if the form field contains sensitive data, which will display the value as a masked input.
     */
    sensitive?: boolean | null | undefined;
    /**
     * Prefix to display in front of the form field.
     */
    prefix?: string | null | undefined;
    /**
     * Suffix to display next to the form field.
     */
    suffix?: string | null | undefined;
    options?: Array<FormFieldOption> | undefined;
};
/** @internal */
export declare const FormFieldType$inboundSchema: z.ZodNativeEnum<typeof FormFieldType>;
/** @internal */
export declare const FormField$inboundSchema: z.ZodType<FormField, z.ZodTypeDef, unknown>;
export declare function formFieldFromJSON(jsonString: string): SafeParseResult<FormField, SDKValidationError>;
//# sourceMappingURL=formfield.d.ts.map