import { type ReactNode } from 'react'; import { type STagColor, type STagShape, type STagSize } from '../STag'; export type SConfirmModalType = 'positive' | 'negative' | 'default'; /** 확인 버튼 프리셋 (sd-confirm-modal ConfirmModalMainButton) */ export type ConfirmModalMainButton = 'primary_md' | 'primary_outline_md' | 'danger_md' | 'danger_outline_md' | 'neutral_outline_md'; export interface SConfirmModalProps { open?: boolean; onOpenChange?: (open: boolean) => void; /** 백드롭·ESC로 안 닫히고 흔들림 (sd-modal-container persistent). **기본값 false** — 확인 모달은 잃을 입력이 없어 백드롭·ESC로 닫힌다 */ persistent?: boolean; /** 타입 (아이콘·메인버튼 색 결정) */ type?: SConfirmModalType; modalTitle?: string; /** 제목 엘리먼트에 추가할 클래스 (sd-confirm-modal titleClass) */ titleClass?: string; /** 콘텐츠 박스 상단 메시지 목록 (각 항목이 한 줄, HTML 문자열 허용 — innerHTML 렌더링) */ topMessage?: string[]; /** 콘텐츠 박스 하단 메시지 목록 (각 항목이 한 줄, HTML 문자열 허용 — innerHTML 렌더링) */ bottomMessage?: string[]; /** tag 슬롯 기본 태그 레이블 (tagSlot 미지정 시) */ tagLabel?: string; /** 태그 프리셋 (shape/size/color) — sd-confirm-modal tagPreset 대응 */ tagShape?: STagShape; tagSize?: STagSize; tagColor?: STagColor; /** 콘텐츠 박스에서 태그 오른쪽에 오는 텍스트 (optionSlot 미지정 시) */ slotLabel?: string; /** 콘텐츠 박스 tag 위치 커스텀 콘텐츠 (미지정 시 tagLabel 기반 STag) */ tagSlot?: ReactNode; /** 콘텐츠 박스에서 태그 오른쪽 커스텀 콘텐츠 (미지정 시 slotLabel 텍스트) */ optionSlot?: ReactNode; /** 콘텐츠 박스 바로 아래에 통으로 들어가는 커스텀 콘텐츠 (전체 폭) */ contentSlot?: ReactNode; /** 메인 버튼 */ mainButtonLabel?: string; /** 확인 버튼 프리셋 (없으면 type에 따라 자동 결정) */ mainButtonName?: ConfirmModalMainButton; /** 서브(취소) 버튼 */ subButtonLabel?: string; /** 확인 버튼 클릭 (sdOk) */ onOk?: () => void; onCancel?: () => void; /** 닫기(X) 버튼 클릭 (sdClose) */ onClose?: () => void; } /** SConfirmModal — sd-confirm-modal 포팅. 아이콘+제목+메시지+태그+확인/취소 버튼. */ export declare function SConfirmModal({ open, onOpenChange, persistent, type, modalTitle, titleClass, topMessage, bottomMessage, tagLabel, tagShape, tagSize, tagColor, slotLabel, tagSlot, optionSlot, contentSlot, mainButtonLabel, mainButtonName, subButtonLabel, onOk, onCancel, onClose, }: SConfirmModalProps): import("react").JSX.Element;