import { type ReactNode, type CSSProperties } from 'react'; /** * @internal * 내부 전용 타입. 소비자에게 노출되지 않으며(패키지 barrel export 제외), * SConfirmModal/SActionModal/SLoadingModal 내부에서만 사용한다. */ export interface SModalContainerProps { /** 표시 여부 (제어) */ open?: boolean; /** 표시 상태 변경 */ onOpenChange?: (open: boolean) => void; /** 접근성 제목 (스크린리더용). 시각 제목은 children이 담당 */ ariaTitle?: string; /** 우측 상단 닫기 버튼 */ showClose?: boolean; /** 닫기(X) 버튼 클릭 시 발생 (sd-modal-container 닫기 버튼 대응) */ onClose?: () => void; /** * 백드롭 클릭·ESC로 닫히지 않고 흔들림(shake) 애니메이션 (sd-modal-container persistent). * **기본값 true** — 모달은 작성 중인 내용을 잃지 않도록 임의 닫힘을 막는 것이 기본이다. * 닫기 경로는 X 버튼과 모달 안의 버튼뿐이다. false로 주면 백드롭·ESC 닫기가 열린다. */ persistent?: boolean; /** 너비/높이 */ width?: number | string; height?: number | string; children?: ReactNode; className?: string; style?: CSSProperties; } /** * SModalContainer — sd-modal-container 포팅 (Radix Dialog 기반). * 모든 모달(Confirm/Action/Loading)의 공통 컨테이너. 딤 오버레이 + 중앙 흰 카드. * persistent(기본 true)면 백드롭/ESC 닫기를 막고 흔들림 애니메이션을 준다. * * @internal * 내부 전용 컴포넌트다. 패키지 public export(src/index.ts)에서 의도적으로 제외돼 있어 * 소비자는 직접 import 할 수 없고, SConfirmModal/SActionModal/SLoadingModal 세 모달의 * 공통 컨테이너로만 조합해 쓴다. barrel(src/index.ts)에 다시 추가하지 말 것. */ export declare function SModalContainer({ open, onOpenChange, ariaTitle, showClose, onClose, persistent, width, height, children, className, style, }: SModalContainerProps): import("react").JSX.Element;