import type { ReactNode } from "react";
import type { FieldValues } from "react-hook-form";
import { type EditableSectionProps } from "../containers/EditableSection";
import { type FormEditorProps } from "./useFormEditorModal";
export interface FormEditableSectionProps<TFieldValues extends FieldValues> extends Pick<EditableSectionProps, "accent" | "children" | "className" | "details" | "disabled" | "editAriaLabel" | "editIcon" | "editIconVariant" | "title" | "titleBadge">, Omit<FormEditorProps<TFieldValues>, "size" | "title"> {
    /** Size of the editor modal. */
    modalSize?: FormEditorProps<TFieldValues>["size"];
    /** Heading of the editor modal. Defaults to `title`. */
    modalTitle?: string;
}
/**
 * An EditableSection whose editor is a modal owning its own Form — see
 * useFormEditorModal for how the edit is kept out of the screen's state. The
 * body stays `children`, so the read-only content is written as plain JSX.
 */
export declare function FormEditableSection<TFieldValues extends FieldValues>({ title, titleBadge, details, editAriaLabel, editIcon, editIconVariant, accent, className, disabled, modalSize, modalTitle, children, ...editorProps }: FormEditableSectionProps<TFieldValues>): ReactNode;
/**
 * @deprecated Renamed `FormEditableSection`, which applies no material itself:
 * write `<FormEditableSection className="surface">`.
 */
export declare function FormEditableSurface<TFieldValues extends FieldValues>({ className, ...props }: FormEditableSectionProps<TFieldValues>): ReactNode;
/** @deprecated Renamed `FormEditableSectionProps`. */
export type FormEditableSurfaceProps<TFieldValues extends FieldValues> = FormEditableSectionProps<TFieldValues>;
//# sourceMappingURL=FormEditableSection.d.ts.map