import { JSXElementConstructor, ReactElement, ReactNode } from 'react'; import { FieldProps } from '../components'; /** * A ReorderableList entry of type . * @param label The name of this entry in the list. * @param data Optional data to connect to this entry. * @param position The position of this entry in the list. */ export type ReorderableEntry = { label: ReactNode; data?: T; position: number; }; /** * Properties for a ReorderableList component of type . * * @param animate If the list should animate. @default true */ export type ReorderableListProps = { entries: ReorderableEntry[]; onSave: (entries: ReorderableEntry[]) => void; interactables?: JSXElementConstructor<{ entry: ReorderableEntry; }>; fieldProps?: FieldProps; animate?: boolean; }; /** * A component for creating reorderable lists. * * See an example implementation {@linkplain https://github.com/Tormak9970/Component-Testing-Plugin/blob/main/src/testing-window/ReorderableListTest.tsx here}. */ export declare function ReorderableList(props: ReorderableListProps): import("react/jsx-runtime").JSX.Element; /** * Properties for a ReorderableItem component of type */ export type ReorderableListEntryProps = { fieldProps?: FieldProps; listData: ReorderableEntry[]; entryData: ReorderableEntry; reorderEntryFunc: CallableFunction; reorderEnabled: boolean; animate: boolean; children: ReactElement | null; };