import { type HTMLAttributes, type MouseEvent, type ReactNode } from 'react'; export interface SDraggableItemRenderState { hovered: boolean; dragging: boolean; disabled: boolean; } export type SDraggableItemRenderProp = (state: SDraggableItemRenderState) => ReactNode; export type SDraggableItemSlot = ReactNode | SDraggableItemRenderProp; export type SDraggableItemSupportingTextPosition = 'right' | 'bottom'; export type SDraggableItemSize = 'sm' | 'md'; export interface SDraggableItemProps extends Omit, 'children' | 'title'> { /** 드래그 아이템 제목 */ title: SDraggableItemSlot; /** 제목을 보조하는 텍스트 */ supportingText?: SDraggableItemSlot; /** 보조 텍스트 위치 */ supportingTextPosition?: SDraggableItemSupportingTextPosition; /** 타이틀 뒤에 표시할 태그/콘텐츠 */ trailing?: SDraggableItemSlot; /** 아이템 왼쪽 accent stripe 표시 여부 */ accentStripe?: boolean; /** 외곽 테두리 사용 여부 */ bordered?: boolean; /** 선택 상태 여부 */ selected?: boolean; /** 드래그 중인 스타일을 고정해서 표시할지 여부 */ dragging?: boolean; /** 조밀한 높이 사용 여부 */ dense?: boolean; /** 타이포그래피·세로 패딩 크기 */ size?: SDraggableItemSize; /** 비활성 상태 여부 */ disabled?: boolean; /** 드래그 시 마우스를 따라가는 overlay 표시 여부 */ dragOverlay?: boolean; /** 드래그 overlay 투명도 */ dragOverlayOpacity?: number; /** 드래그 핸들에 전달할 속성 */ dragHandleProps?: HTMLAttributes; /** 드래그 핸들 mouse down 이벤트 */ onDragHandleMouseDown?: (event: MouseEvent) => void; } export declare const SDraggableItem: import("react").ForwardRefExoticComponent>;