import { default as React } from 'react'; /** * @description Component to customize table columns * @param title - Display title for the table settings sideDrawer * @param list - Array of all the possible table columns that can be displayed * @param selected - Array of user selected columns that will be displayed in the table * @param callout - Function to update/save the array of selected columns after customization has been confirmed * @param setToDefaultCallout - Function to be called when the "Reset" button is used (generally used to reset selected column array to default) * @param topChildren - custom component to be displayed above the columns selection list * @param bottomChildren - custom component to be displayed below the columns selection list * @param cancelCallout - Function to be called when the "Cancel" button is used (generally used to cancel modified settings) */ export type CustomizeTableColumnsProps = { /** Custom title for table settings */ title?: string; /** Array of all the columns that can be displayed in the UI */ list: string[]; /** Array of user selected columns that we want displayed in the UI */ selected: string[]; /** Updates the array of selected columns after customization has been confirmed */ callout: (selectedList: string[]) => void; /** The reset function to set the columns back to the default setting */ setToDefaultCallout: () => void; /** Children above the columns list */ topChildren?: React.ReactNode; /** Children below the columns list */ bottomChildren?: React.ReactNode; /** Function to cancel modified settings */ cancelCallout?: () => void; /** Optional prop to enable column reordering */ isColumnsReorderable?: boolean; /** Optional function to generate a secondary option (ReactNode) for display */ getSecondaryOption?: (label: string) => React.ReactNode; /** Optional prop to add a test id to the CustomizeTableColumns for QA testing */ qaTestId?: string; }; declare const CustomizeTableColumns: ({ title, list, selected, callout, setToDefaultCallout, topChildren, bottomChildren, cancelCallout, isColumnsReorderable, getSecondaryOption, qaTestId, }: CustomizeTableColumnsProps) => React.JSX.Element; export default CustomizeTableColumns;