import type { ReactNode, CSSProperties } from 'react'; import type { BaseModalLayoutProps, ModalSkin } from '../BaseModalLayout'; import type { TooltipCommonProps } from '../common'; import type { ButtonProps, ButtonSize } from '../Button'; import type { TooltipProps } from '../Tooltip'; /** @deprecated it's not a valid CSS overflow property value */ type InvalidOverflowNone = 'none'; export interface CustomModalLayoutProps extends BaseModalLayoutProps { /** Sets text title for the modal; can be used in conjunction with other components. */ title?: ReactNode; /** Sets text subtitle for the modal; can be used in conjunction with other components. */ subtitle?: ReactNode; /** Sets the modal's main content, rendered in the middle scrollable area. When omitted, `children` are rendered in this area instead. */ content?: ReactNode; /** Sets the modal's content. Rendered in the middle scrollable area when `content` is omitted; when `content` is provided, rendered directly inside the modal root after the layout blocks, so fully custom nodes can be mounted and animated. */ children?: ReactNode; /** Sets text label or other content (e.g., ) for the primary button. */ primaryButtonText?: ReactNode; /** Passes on any `