import { InputHTMLAttributes, ReactNode } from "react";
import { DrawerFormProps, FormErrors } from "./drawer-form";
import { AnyZodSchema, InputPropType } from "../../../utils/form-helper";
export interface FormFieldOption {
label: string;
value: string;
}
export type FormFieldType = {
label: string;
field: string;
value?: string | string[];
lines?: number;
readonly?: boolean;
hidden?: boolean;
render?: (readOnly: boolean | undefined, inputProps: InputHTMLAttributes) => JSX.Element;
options?: readonly FormFieldOption[];
};
export type FormContentType = {
field?: never;
value?: never;
lines?: never;
readonly?: never;
hidden?: never;
render: () => JSX.Element;
label: string;
};
export type FormEntry = FormFieldType | FormContentType | FormFieldType[];
export type DrawerFormWithFieldsProps = {
title: string;
header?: ReactNode;
data?: FormEntry[];
} & Pick, "onClose" | "isOpen" | "action" | "schema" | "trackingMetadata" | "errorHeader">;
export declare const DrawerFormWithFields: ({ title, header, data, schema, action, ...drawerFormProps }: DrawerFormWithFieldsProps) => JSX.Element;
export type FormFieldEntries = {
recordList: FormFieldType[];
errors: FormErrors | undefined;
submitting: boolean;
schema: AnyZodSchema;
};
export type FormFieldEntry = {
entry: FormFieldType;
errors: FormErrors | undefined;
props: InputPropType;
submitting: boolean;
};
//# sourceMappingURL=drawer-form-with-fields.d.ts.map