import type { FunctionComponent } from 'react'; import { ModalProps } from '@patternfly/react-core/deprecated'; export interface ColumnManagementModalColumn { /** 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. */ isShown?: 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; } /** extends ModalProps */ export interface ColumnManagementModalProps extends Omit { /** Flag to show the modal */ isOpen?: boolean; /** Invoked when modal visibility is changed */ onClose?: (event: KeyboardEvent | React.MouseEvent) => void; /** Current column state */ appliedColumns: ColumnManagementModalColumn[]; /** Invoked with new column state after save button is clicked */ applyColumns: (newColumns: ColumnManagementModalColumn[]) => void; description?: string; title?: string; /** Custom OUIA ID */ ouiaId?: string | number; /** Enable drag and drop functionality for reordering columns */ enableDragDrop?: boolean; } declare const ColumnManagementModal: FunctionComponent; export default ColumnManagementModal;