import { DomMetadata } from '../types/additional.type'; import { ReactNode } from 'react'; export type ColumnsControlConfig = { enable: boolean; hiding?: boolean; pinning?: boolean; reorderingAside?: boolean; reorderingHeader?: boolean; onReorderingHeader?: (params: { newOrder: string[]; sourceKey: string; targetKey: string; }) => void; columnsLabel?: Record ReactNode)>; orderDefault?: string[]; pinnedDefault?: string[]; disablePinning?: string[]; hiddenDefault?: string[]; disableHiding?: string[]; onConfirm?: (params: { pinned: string[]; order: string[]; hidden: string[]; changed: { pinned?: 'pinned'; order?: 'order'; hidden?: 'hidden'; }; }, setters: { setColumnsOrder: (value: React.SetStateAction) => void; setPinnedCols: (value: React.SetStateAction) => void; setHiddenCols: (value: React.SetStateAction) => void; }) => void; pinDomMetadata?: DomMetadata; switchDomMetadata?: DomMetadata; };