import { PblBaseColumnDefinition, PblMetaColumnDefinition, PblColumnGroupDefinition, PblColumnDefinition, PblMetaRowDefinitions, PblNgridColumnDefinitionSet, PblColumnSet } from '@pebula/ngrid/core'; import { PickPNP } from '../../utils'; export interface PblNgridBaseColumnState extends PickPNP { } export interface PblNgridMetaColumnState extends PblNgridBaseColumnState, PickPNP { id: PblNgridBaseColumnState['id']; } export interface PblNgridGroupColumnState extends PblNgridBaseColumnState, PickPNP { } export interface PblNgridColumnState extends PblNgridBaseColumnState, PickPNP { } export interface PblNgridMetaRowState extends PickPNP { } export interface PblNgridMetaRowSetState extends PblNgridMetaRowState, PickPNP, never, 'rowIndex'> { cols: T[]; } export declare type ColRowDefsToState = T extends PblMetaRowDefinitions ? PblNgridMetaRowState : T extends PblColumnDefinition[] ? PblNgridColumnState[] : T extends PblColumnSet[] ? PblNgridMetaRowSetState[] : T extends PblColumnSet[] ? PblNgridMetaRowSetState[] : never; export declare type BaseColumnDefinitionSetState = { [P in keyof T]: T[P] extends PblNgridColumnDefinitionSet['table'] ? BaseColumnDefinitionSetState : ColRowDefsToState; }; export interface PblNgridColumnDefinitionSetState extends PickPNP { }