import type { ViewProps } from "@tarojs/components/types/View"; import { type CSSProperties, type ReactNode } from "react"; import { type ButtonProps } from "../button"; import { type PopupBackdropProps } from "../popup"; import { type DialogOptions, type DialogMessageAlign, type DialogActionsVariant } from "./dialog.shared"; export declare function useDialogOpen(cb: (options: DialogOptions) => void): void; export declare function useDialogCancel(cb: (selector: string) => void): void; export interface DialogProps extends ViewProps { style?: CSSProperties; defaultOpen?: boolean; open?: boolean; children?: ReactNode; backdrop?: boolean | Omit; title?: ReactNode; message?: ReactNode; messageAlign?: DialogMessageAlign; theme?: DialogActionsVariant; confirm?: ReactNode | ButtonProps; cancel?: ReactNode | ButtonProps; onConfirm?(): void; onCancel?(): void; onBeforeClose?(action: "confirm" | "cancel"): boolean | Promise; onClose?(opened: boolean): void; } declare function Dialog(props: DialogProps): JSX.Element; export default Dialog;