import { DomMetadata } from '../types/additional.type'; import { ReactNode } from 'react'; export type HiddenColumnsIndicatorExpandInfo = { keys: string[]; leftKey?: string; rightKey?: string; }; 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)>; virtualization?: boolean | { minCount?: number; }; orderDefault?: string[]; pinnedDefault?: string[]; disablePinning?: string[]; hiddenDefault?: string[]; disableHiding?: string[]; hiddenColumnsIndicator?: boolean; onHiddenColumnsIndicatorExpand?: (info: HiddenColumnsIndicatorExpandInfo) => void; 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; };