import type { ReactNode } from 'react'; import { type SortableDragHandleProps } from '../sortable-list/use-sortable-item'; export interface SortableRowRenderArgs { /** Spread onto the grip whole — it carries the ref and the keyboard path. */ dragHandleProps: SortableDragHandleProps; isDragging: boolean; /** * The touch replacement for the grip: an up/down `SortableMoveButtons` pair, * non-null exactly when drag is unavailable (touch/narrow viewports). Render * it where the row's reorder control belongs — and no grip beside it. */ moveButtons: ReactNode | null; } export interface TicketStatusConfigListProps { items: T[]; onReorder: (oldIndex: number, newIndex: number) => void; renderRow: (item: T, args: SortableRowRenderArgs) => ReactNode; /** Names a row for the live region and the move buttons, e.g. its status name. */ getItemLabel?: (index: number) => string | undefined; className?: string; } /** * A reorderable list of config rows (ticket statuses, AI quick actions), built * on {@link SortableList} — Pragmatic drag and drop on desktop, an explicit * up/down pair on touch, where the HTML5 drag events never fire. * * `id` keys React rows only; the reorder itself is DOM-order based, so * duplicates in `items` cannot collide. */ export declare function TicketStatusConfigList({ items, onReorder, renderRow, getItemLabel, className, }: TicketStatusConfigListProps): import("react").JSX.Element; //# sourceMappingURL=ticket-status-config-list.d.ts.map