import { type ReactElement, type ReactNode, type MouseEvent, type KeyboardEvent, type Dispatch } from 'react'; import { type DropResult } from '@hello-pangea/dnd'; export type TColumnData = { key: string; label: ReactNode; }; export type TColumnSettingsManagerProps = { title?: string; availableColumns?: TColumnData[]; selectedColumns: TColumnData[]; onUpdateColumns: (updatedColums: TColumnData[]) => void; areHiddenColumnsSearchable?: boolean; searchHiddenColumns?: (searchTerm: string) => Promise | void; searchHiddenColumnsPlaceholder?: string; onClose: (event: MouseEvent | KeyboardEvent) => void; primaryButton?: ReactElement; secondaryButton?: ReactElement; managerTheme?: 'light' | 'dark'; }; export declare const handleColumnsUpdate: (dragResult: DropResult, onUpdateColumns: TColumnSettingsManagerProps["onUpdateColumns"], selectedColumns: TColumnSettingsManagerProps["selectedColumns"], availableColumns: TColumnSettingsManagerProps["availableColumns"], setIsDragging: Dispatch) => void; export declare const ColumnSettingsManager: { ({ availableColumns, ...props }: TColumnSettingsManagerProps): import("@emotion/react/jsx-runtime").JSX.Element; displayName: string; }; export default ColumnSettingsManager;