
import { CubeButtonProps } from "../../actions/Button/Button.js";
import "../../actions/index.js";
import { FieldTypes } from "../../form/Form/types.js";
import { CubeFormProps } from "../../form/Form/Form.js";
import "../../form/index.js";
import { CubeDialogProps } from "./Dialog.js";
import * as react_jsx_runtime0 from "react/jsx-runtime";

//#region src/components/overlays/Dialog/DialogForm.d.ts
interface CubeDialogFormProps<T extends FieldTypes = FieldTypes> extends Omit<CubeDialogProps, 'children'>, Omit<CubeFormProps<T>, 'role' | 'children'> {
  /** Whether the submit button has a `danger` theme */
  danger?: boolean;
  /** Properties for submit button. Use `label` to change text. */
  submitProps?: CubeButtonProps;
  /** Properties for cancel button. Use `label` to change text. */
  cancelProps?: CubeButtonProps;
  /** WIP. Preserve form values even if field is deleted */
  preserve?: boolean;
  /** Whether to hide action button so developer can manually specify them */
  noActions?: boolean;
  /** The title of the dialog */
  title?: string;
  /** Children nodes or render function  */
  children?: CubeFormProps['children'] | ((onLocalDismiss: () => void) => CubeFormProps['children']);
}
interface CubeDialogFormRef {
  open: () => void;
  close: () => void;
}
/**
 * DialogForms are a specific type of Dialog. They contain forms to fill.
 */
declare function DialogForm<T extends FieldTypes = FieldTypes>(props: CubeDialogFormProps<T>): react_jsx_runtime0.JSX.Element;
//#endregion
export { CubeDialogFormProps, CubeDialogFormRef, DialogForm };
//# sourceMappingURL=DialogForm.d.ts.map