import type Column from './Column' ; import type Ranking from './Ranking' ; import type CompositeColumn from './CompositeColumn' ; import type { IColorMappingFunction , IMappingFunction } from './INumberColumn' ; import type { ICategoricalColorMappingFunction , ICategory } from './ICategoricalColumn' ; import type { IScriptMappingFunctionType } from './MappingFunction' ; export interface IColumnConstructor { new ( id , desc , factory ) : Column ; } export interface IStyleColumn { /**
     * column description
     */ description : string ; /**
     * column summary line (subtitle)
     */ summary : string ; deprecated color : string ; default frozen : boolean ; default fixed : boolean ; /**
     * default renderer to use
     */ renderer : string ; /**
     * default group renderer to use
     */ groupRenderer : string ; /**
     * default summary renderer to use
     */ summaryRenderer : string ; default width : number ; default visible : boolean ; } export interface IColumnDesc extends Partial < IStyleColumn > { /**
     * label of the column
     */ label : string ; /**
     * the column type
     */ type : string ; } export interface IValueColumnDesc < T > extends IColumnDesc { default lazyLoaded ? : boolean ; param row param desc accessor ? ( row , desc ) : T ; } export interface IFlatColumn { readonly col : Column ; readonly offset : number ; readonly width : number ; } export interface IColumnParent { remove ( col ) : boolean ; insert ( col , index ? ) : Column | null ; insertAfter ( col , reference ) : Column | null ; move ( col , index ? ) : Column | null ; moveAfter ( col , reference ) : Column | null ; findMyRanker ( ) : Ranking | null ; readonly fqid : string ; indexOf ( col ) : number ; at ( index ) : Column ; readonly fqpath : string ; } export interface IColumnMetaData { label : string ; summary : string ; description : string ; } export declare type ICompareValue = string | number | null ; /**
 * a data row for rendering
 */ export interface IDataRow { /**
     * the value
     */ readonly v : any ; /**
     * the underlying data index
     */ readonly i : number ; } export interface IGroup { name : string ; color : string ; parent ? : Readonly < IGroupParent > | null ; } export declare type IndicesArray = ( ReadonlyArray < number > | UIntTypedArray ) & ArrayLike < number > ; export interface IOrderedGroup extends IGroup { order : IndicesArray ; } export const defaultGroup = { name : 'Default' , color : 'gray' , } ; export const othersGroup = { name : 'Others' , color : 'gray' , } ; export interface IGroupParent extends IGroup { subGroups : ( Readonly < IGroupParent > | Readonly < IGroup > ) [ ] ; } export interface IGroupItem { readonly dataIndex : number ; readonly group : Readonly < IOrderedGroup > ; readonly relativeIndex : number ; } export declare type IGroupData = Readonly < IOrderedGroup > ; export function isGroup ( item ) { return item && ( item as IGroupItem ) . group == null ; } export declare type UIntTypedArray = Uint8Array | Uint16Array | Uint32Array ; export enum ECompareValueType { BINARY , COUNT , UINT8 , UINT16 , UINT32 , INT8 , INT16 , INT32 , FLOAT , FLOAT_ASC , DOUBLE , DOUBLE_ASC , STRING } export interface ITypedDump { readonly type : string ; [ key ] : any ; } export interface IColumnDump { id : string ; width ? : number ; desc : any ; label ? : string ; summary ? : string ; renderer ? : string ; deprecated rendererType ? : string ; groupRenderer ? : string ; summaryRenderer ? : string ; [ key ] : any ; } export interface IRankingDump { /**
     * columsn of this ranking
     */ columns ? : IColumnDump [ ] ; /**
     * sort criteria
     */ sortCriteria ? : { asc : boolean ; sortBy : string ; } [ ] ; /**
     * group sort criteria
     */ groupSortCriteria ? : { asc : boolean ; sortBy : string ; } [ ] ; /**
     * uids of group columns
     */ groupColumns ? : string [ ] ; deprecated sortColumn ? : { sortBy : string ; asc : boolean ; } ; } export interface ITypeFactory { ( dump ) : Column ; colorMappingFunction ( dump ? ) : IColorMappingFunction ; mappingFunction ( dump ? ) : IMappingFunction ; categoricalColorMappingFunction ( dump , categories ) : ICategoricalColorMappingFunction ; } export interface IMultiLevelColumn extends CompositeColumn { getCollapsed ( ) : boolean ; setCollapsed ( value ) : void ; /**
     * whether to show nested summaries or not
     */ isShowNestedSummaries ( ) : boolean ; } export function isMultiLevelColumn ( col ) { return typeof ( col as IMultiLevelColumn ) . getCollapsed === 'function' ; } export interface ISortCriteria { readonly col : Column ; readonly asc : boolean ; }