import { type FC, type MouseEvent, type PropsWithChildren, type ReactNode, type RefObject } from 'react'; import { type VariantProps } from 'tailwind-variants'; import { type BaseElementProps } from '../../Base'; import { type Props as DialogBodyProps } from '../DialogBody'; import type { DialogSize } from '../types'; type AbstractProps = PropsWithChildren<{ /** * ダイアログのタイトルの内容 */ heading: ReactNode; /** * ダイアログのフッタ部分の内容 */ footer?: ReactNode; /** * ダイアログが開かれているかどうかの真偽値 */ isOpen: boolean; /** * 閉じるボタンを押下したときのハンドラ */ onClickClose?: (e: MouseEvent) => void; /** * ダイアログが開いている状態で Escape キーを押下したときのハンドラ */ onPressEscape?: () => void; /** * @deprecated ダイアログの幅を指定する場合は、`width` ではなく `size` を使用してください。 * ダイアログの幅 */ width?: string | number; /** * ダイアログの大きさ */ size?: DialogSize; /** * ダイアログの高さ */ height?: string | number; /** * ダイアログを開いたときの初期 top 位置 */ top?: string | number; /** * ダイアログを開いたときの初期 left 位置 */ left?: string | number; /** * ダイアログを開いたときの初期 right 位置 */ right?: string | number; /** * ダイアログを開いたときの初期 bottom 位置 */ bottom?: string | number; /** * ポータルの container となる DOM 要素を追加する親要素 */ portalParent?: HTMLElement | RefObject; }>; type Props = AbstractProps & Omit & Omit & Omit, keyof AbstractProps>; declare const classNameGenerator: import("tailwind-variants").TVReturnType<{ size: { XS: { wrapper: "shr-w-col3"; }; S: { wrapper: "shr-w-col4"; }; M: { wrapper: "shr-w-col5"; }; L: { wrapper: "shr-w-col6"; }; XL: { wrapper: "shr-w-col7"; }; XXL: { wrapper: "shr-w-col8"; }; FULL: { wrapper: "shr-w-full"; }; }; resizable: { true: { wrapper: string; }; false: {}; }; }, { overlap: string; wrapper: string; headerEl: string[]; dialogHandler: string[]; headingEl: string[]; closeButtonLayout: string[]; footerEl: string; }, undefined, import("tailwind-variants/dist/config").TVConfig<{ size: { XS: { wrapper: "shr-w-col3"; }; S: { wrapper: "shr-w-col4"; }; M: { wrapper: "shr-w-col5"; }; L: { wrapper: "shr-w-col6"; }; XL: { wrapper: "shr-w-col7"; }; XXL: { wrapper: "shr-w-col8"; }; FULL: { wrapper: "shr-w-full"; }; }; resizable: { true: { wrapper: string; }; false: {}; }; }, { size: { XS: { wrapper: "shr-w-col3"; }; S: { wrapper: "shr-w-col4"; }; M: { wrapper: "shr-w-col5"; }; L: { wrapper: "shr-w-col6"; }; XL: { wrapper: "shr-w-col7"; }; XXL: { wrapper: "shr-w-col8"; }; FULL: { wrapper: "shr-w-full"; }; }; resizable: { true: { wrapper: string; }; false: {}; }; }>, { size: { XS: { wrapper: "shr-w-col3"; }; S: { wrapper: "shr-w-col4"; }; M: { wrapper: "shr-w-col5"; }; L: { wrapper: "shr-w-col6"; }; XL: { wrapper: "shr-w-col7"; }; XXL: { wrapper: "shr-w-col8"; }; FULL: { wrapper: "shr-w-full"; }; }; resizable: { true: { wrapper: string; }; false: {}; }; }, { overlap: string; wrapper: string; headerEl: string[]; dialogHandler: string[]; headingEl: string[]; closeButtonLayout: string[]; footerEl: string; }, import("tailwind-variants").TVReturnType<{ size: { XS: { wrapper: "shr-w-col3"; }; S: { wrapper: "shr-w-col4"; }; M: { wrapper: "shr-w-col5"; }; L: { wrapper: "shr-w-col6"; }; XL: { wrapper: "shr-w-col7"; }; XXL: { wrapper: "shr-w-col8"; }; FULL: { wrapper: "shr-w-full"; }; }; resizable: { true: { wrapper: string; }; false: {}; }; }, { overlap: string; wrapper: string; headerEl: string[]; dialogHandler: string[]; headingEl: string[]; closeButtonLayout: string[]; footerEl: string; }, undefined, import("tailwind-variants/dist/config").TVConfig<{ size: { XS: { wrapper: "shr-w-col3"; }; S: { wrapper: "shr-w-col4"; }; M: { wrapper: "shr-w-col5"; }; L: { wrapper: "shr-w-col6"; }; XL: { wrapper: "shr-w-col7"; }; XXL: { wrapper: "shr-w-col8"; }; FULL: { wrapper: "shr-w-full"; }; }; resizable: { true: { wrapper: string; }; false: {}; }; }, { size: { XS: { wrapper: "shr-w-col3"; }; S: { wrapper: "shr-w-col4"; }; M: { wrapper: "shr-w-col5"; }; L: { wrapper: "shr-w-col6"; }; XL: { wrapper: "shr-w-col7"; }; XXL: { wrapper: "shr-w-col8"; }; FULL: { wrapper: "shr-w-full"; }; }; resizable: { true: { wrapper: string; }; false: {}; }; }>, unknown, unknown, undefined>>; export declare const ModelessDialog: FC; export {};