
import { Styles } from "../../../tasty/styles/types.js";
import { BaseProps, BaseStyleProps, BlockStyleProps, DimensionStyleProps } from "../../../tasty/types.js";
import "../../../tasty/index.js";
import * as react from "react";
import { ReactElement } from "react";
import { AriaDialogProps } from "react-aria";
import * as _react_types_shared0 from "@react-types/shared";

//#region src/components/overlays/Dialog/Dialog.d.ts
interface CubeDialogProps extends Omit<BaseProps, 'role'>, AriaDialogProps, BaseStyleProps, BlockStyleProps, DimensionStyleProps {
  /** The size of the dialog */
  size?: 'S' | 'M' | 'L' | 'small' | 'medium' | 'large';
  /** Whether the dialog is dismissable */
  isDismissable?: boolean;
  /** Trigger when the dialog is dismissed */
  onDismiss?: (arg?: any) => void;
  /** That you can replace the close icon with */
  closeIcon?: ReactElement;
  closeButtonStyles?: Styles;
  role?: 'dialog' | 'alertdialog';
}
/**
 * Dialogs are windows containing contextual information, tasks, or workflows that appear over the user interface.
 * Depending on the kind of Dialog, further interactions may be blocked until the Dialog is acknowledged.
 */
declare const Dialog: react.ForwardRefExoticComponent<CubeDialogProps & react.RefAttributes<_react_types_shared0.DOMRefValue<HTMLDivElement>>>;
//#endregion
export { CubeDialogProps, Dialog };
//# sourceMappingURL=Dialog.d.ts.map