import type { FunctionComponent } from 'react'; export interface ListManagerItem { /** Internal identifier of a column by which table displayed columns are filtered. */ key: string; /** The actual display name of the column possibly with a tooltip or icon. */ title: React.ReactNode; /** If user changes checkboxes, the component will send back column array with this property altered. */ isSelected?: boolean; /** Set to false if the column should be hidden initially */ isShownByDefault: boolean; /** The checkbox will be disabled, this is applicable to columns which should not be toggleable by user */ isUntoggleable?: boolean; } export interface ListManagerProps { /** Current column state */ columns: ListManagerItem[]; /** Custom OUIA ID */ ouiaId?: string | number; /** Callback when a column is selected or deselected */ onSelect?: (column: ListManagerItem) => void; /** Callback when all columns are selected or deselected */ onSelectAll?: (columns: ListManagerItem[]) => void; /** Callback when the column order changes */ onOrderChange?: (columns: ListManagerItem[]) => void; /** Callback to save the column state */ onSave?: (columns: ListManagerItem[]) => void; /** Callback to close the modal */ onCancel?: () => void; /** Enable drag and drop functionality for reordering items */ enableDragDrop?: boolean; /** Custom aria-label for the DataList */ dataListAriaLabel?: string; } declare const ListManager: FunctionComponent; export default ListManager;