import { default as React } from 'react';
import { DialogProps as MuiDialogProps, SxProps, Theme } from '@mui/material';
declare const DIALOG_WIDTHS: {
    readonly xs: "300px";
    readonly sm: "480px";
    readonly md: "600px";
    readonly lg: "800px";
    readonly xl: "1000px";
};
export type DialogSize = keyof typeof DIALOG_WIDTHS | "auto";
export type DialogType = "info" | "success" | "warning" | "error" | "confirm";
type DialogCloseReason = "backdropClick" | "escapeKeyDown";
interface DialogPropsBase extends Omit<MuiDialogProps, "open" | "onClose" | "sx" | "children" | "scroll" | "fullScreen" | "content" | "title"> {
    /** 다이얼로그 열린 상태 */
    open: boolean;
    /** 다이얼로그 닫기 이벤트 핸들러 */
    onClose: (event?: object, reason?: DialogCloseReason) => void;
    /** 다이얼로그 제목 */
    title?: React.ReactNode;
    /** 다이얼로그 내용 */
    content?: React.ReactNode;
    /** 다이얼로그 액션 버튼 */
    actions?: React.ReactNode;
    /** 최대 너비 */
    size?: DialogSize;
    /** 전체 화면 여부 */
    fullScreen?: boolean;
    /** 스크롤 동작 */
    scroll?: "paper" | "body";
    /** 다이얼로그 Paper 스타일 */
    sx?: SxProps<Theme>;
    /** 영역별 구분선 */
    dividers?: boolean;
    /** 액션 버튼 정렬 */
    actionsAlign?: "center" | "left" | "right";
    /** 자식노드 */
    children?: React.ReactNode;
    /** 배경(backdrop) 클릭 닫기 방지 */
    disableBackdropClose?: boolean;
}
export type DialogWithType = (DialogPropsBase & {
    type: "confirm";
    onOk: () => void;
}) | (DialogPropsBase & {
    type?: "info" | "success" | "warning" | "error";
    onOk?: never;
});
export declare const Dialog: {
    ({ open, onClose, title, content, actions, fullScreen, scroll, size, type, onOk, dividers, actionsAlign, children, sx, disableBackdropClose, PaperProps: paperProps, ...props }: DialogWithType): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export {};
