import { NonCancelableEventHandler } from '../../events'; import { DragHandleProps } from '../drag-handle/interfaces'; export interface SortableAreaProps { items: readonly Item[]; itemDefinition: SortableAreaProps.ItemDefinition; renderItem: (props: SortableAreaProps.RenderItemProps) => React.ReactNode; onItemsChange?: NonCancelableEventHandler>; i18nStrings?: SortableAreaProps.DndAreaI18nStrings; disableReorder?: boolean; } export declare namespace SortableAreaProps { interface ItemDefinition { id: (item: Item) => string; label: (item: Item) => string; borderRadius?: BorderRadiusVariant; } type BorderRadiusVariant = 'item' | 'container'; interface RenderItemProps { ref?: React.RefCallback; item: Item; id: string; style: React.CSSProperties; className?: string; isDropPlaceholder: boolean; isSortingActive: boolean; isDragGhost: boolean; dragHandleProps: DragHandleProps; } interface ItemsChangeDetail { items: Item[]; movedItem: Item; } interface DndAreaI18nStrings { liveAnnouncementDndStarted?: (position: number, total: number) => string; liveAnnouncementDndItemReordered?: (initialPosition: number, currentPosition: number, total: number) => string; liveAnnouncementDndItemCommitted?: (initialPosition: number, finalPosition: number, total: number) => string; liveAnnouncementDndDiscarded?: string; dragHandleAriaLabel?: string; dragHandleAriaDescription?: string; } }