import { CSSProperties, ReactNode } from "react";
import { ButtonProps } from "../button";
import { PopupBackdropProps } from "../popup";
export declare function setDefaultDialogOptions(options: DialogOptions): void;
export declare function resetDefaultDialogOptions(): void;
export declare function useDialogOpen(cb: (options: DialogOptions) => void): void;
export declare function useDialogCancel(cb: (selector: string) => void): void;
declare type DialogMessageAlign = "left" | "center" | "right";
export interface DialogOptions {
    selector?: string;
    className?: string;
    style?: CSSProperties;
    backdrop?: boolean | Omit<PopupBackdropProps, "open">;
    duration?: number;
    title?: ReactNode;
    message?: ReactNode;
    messageAlign?: DialogMessageAlign;
    confirm?: ReactNode | ButtonProps;
    cancel?: ReactNode | ButtonProps;
    onConfirm?(): void;
    onCancel?(): void;
    onClose?(opened: boolean): void;
}
export declare function openDialog(args: ReactNode | DialogOptions): void;
export declare function confirmDialog(args: ReactNode | DialogOptions): void;
export declare function alertDialog(args: ReactNode | Omit<DialogOptions, "confirm">): void;
export declare function cancelDialog(selector?: string): void;
export {};
