import type { Column , Ranking , IColumnConstructor , IColumnDesc , IGroup , IndicesArray , IDataRow , IRankingDump , EAggregationState , IColorMappingFunctionConstructor , IMappingFunctionConstructor , ITypeFactory , } from '../model' ; import type { AEventDispatcher , ISequence } from '../internal' ; import type { IRenderTasks } from '../renderer' ; import type { IAbortAblePromise as IAbortAblePromiseImpl } from 'lineupengine' ; export { ABORTED } from 'lineupengine' ; export declare type IAbortAblePromise < T > = IAbortAblePromiseImpl < T > ; export declare type IAggregationStrategy = 'group' | 'item' | 'group+item' | 'group+top+item' | 'group+item+top' ; export interface IDataProviderOptions { columnTypes : { [ columnType ] : IColumnConstructor ; } ; colorMappingFunctionTypes : { [ colorMappingFunctionType ] : IColorMappingFunctionConstructor ; } ; mappingFunctionTypes : { [ mappingFunctionType ] : IMappingFunctionConstructor ; } ; default singleSelection : boolean ; default showTopN : number ; default aggregationStrategy : IAggregationStrategy ; default propagateAggregationState : boolean ; } export interface IDataProvider extends AEventDispatcher { readonly columnTypes : { [ columnType ] : IColumnConstructor ; } ; getTotalNumberOfRows ( ) : number ; getTaskExecutor ( ) : IRenderTasks ; getTypeFactory ( ) : ITypeFactory ; takeSnapshot ( col ) : void ; selectAllOf ( ranking ) : void ; getSelection ( ) : number [ ] ; setSelection ( dataIndices ) : void ; toggleSelection ( i , additional ? ) : boolean ; isSelected ( i ) : boolean ; removeRanking ( ranking ) : void ; ensureOneRanking ( ) : void ; find ( id ) : Column | null ; clone ( col ) : Column ; create ( desc ) : Column | null ; toDescRef ( desc ) : any ; fromDescRef ( ref ) : IColumnDesc ; mappingSample ( col ) : Promise < ISequence < number > > | ISequence < number > ; searchAndJump ( search , col ) : void ; getRankings ( ) : Ranking [ ] ; getFirstRanking ( ) : Ranking | null ; getLastRanking ( ) : Ranking ; getColumns ( ) : IColumnDesc [ ] ; getAggregationStrategy ( ) : IAggregationStrategy ; isAggregated ( ranking , group ) : boolean ; setAggregationState ( ranking , group , state ) : void ; getAggregationState ( ranking , group ) : EAggregationState ; aggregateAllOf ( ranking , aggregateAll , groups ? ) : void ; getTopNAggregated ( ranking , group ) : number ; setTopNAggregated ( ranking , group , value ) : void ; setShowTopN ( value ) : void ; getShowTopN ( ) : number ; getRow ( dataIndex ) : Promise < IDataRow > | IDataRow ; clearFilters ( ) : void ; } export const SCHEMA_REF = `https://lineup.js.org/develop/schema.4.0.0.json` ; export interface IDataProviderDump { $schema ? : string ; /**
     * base for generating new uids
     */ uid ? : number ; /**
     * current selection
     */ selection ? : number [ ] ; /**
     * list of aggregated group paths
     */ aggregations ? : string [ ] | { [ key ] : number ; } ; /**
     * ranking dumps
     */ rankings ? : IRankingDump [ ] ; /**
     * custom show top N setting
     */ showTopN ? : number ; } export interface IDeriveOptions { /**
     * maximal percentage of unique values to be treated as a categorical column
     */ categoricalThreshold : number | ( ( unique : number , total : number ) => boolean ) ; columns : string [ ] ; default datePattern : string | string [ ] ; } export interface IExportOptions { /**
     * export separator, default: '\t'
     */ separator : string ; /**
     * new line character, default: '\n'
     */ newline : string ; /**
     * should a header be generated, default: true
     */ header : boolean ; /**
     * quote strings, default: false
     */ quote : boolean ; /**
     * quote string to use, default: '"'
     */ quoteChar : string ; param col filter : ( col : Column ) => boolean ; /**
     * whether the description should be part of the column header
     */ verboseColumnHeaders : boolean ; }