import { type JSXSlot } from "@cn-ui/reactive";
import { FloatingArea } from "../Message/runtime";
import "../animation/fade.css";
export interface MessageBoxPanelProps {
    title: string;
    description?: string;
    onConfirm?: () => void;
    onCancel?: () => void;
    cancelable?: boolean;
    messageSlot?: JSXSlot<MessageBoxPanelProps>;
}
export declare const MessageBoxPanel: import("solid-js").Component<import("@cn-ui/reactive").OriginComponentOutputType<MessageBoxPanelProps, HTMLElement, string>>;
export interface MessageBoxOptions extends MessageBoxPanelProps {
    mask?: boolean;
}
export declare class MessageBoxTemplate extends FloatingArea<MessageBoxOptions> {
    render(): import("solid-js").JSX.Element;
    base<T>(title: string, message?: string, options?: Partial<MessageBoxOptions>, returnData?: () => T): Promise<unknown>;
    alert(title: string, message?: string, options?: Partial<MessageBoxOptions>): Promise<unknown>;
    prompt(title: string, message?: string, options?: Partial<MessageBoxOptions>): Promise<unknown>;
    confirm(title: string, message?: string, options?: Partial<MessageBoxOptions>): Promise<unknown>;
}
export declare const MessageBox: MessageBoxTemplate;
