import { Formatter } from '@deephaven/jsapi-utils'; import type { dh as DhType } from '@deephaven/jsapi-types'; import IrisGridModel from './IrisGridModel'; import { type ColumnName, type UITotalsTableConfig } from './CommonTypes'; import { type PartitionConfig, type PartitionedGridModel } from './PartitionedGridModel'; /** * Model which proxies calls to other IrisGridModels. * This allows for operations that generate new tables, like rollups. * The proxy model will call any methods it has implemented and delegate any * it does not implement to the underlying model. */ declare class IrisGridProxyModel extends IrisGridModel implements PartitionedGridModel { /** * @param dh JSAPI instance * @param table Iris data table to be used in the model * @param formatter The formatter to use when getting formats * @param inputTable Iris input table associated with this table */ model: IrisGridModel; dh: typeof DhType; private originalModel; private modelPromise; private rollup; private partition; private selectDistinct; private currentViewport?; constructor(dh: typeof DhType, table: DhType.Table | DhType.TreeTable | DhType.PartitionedTable, formatter?: Formatter, inputTable?: DhType.InputTable | null); close(): void; handleModelEvent(event: CustomEvent): void; setModel(model: IrisGridModel): void; setNextModel(modelPromise: Promise): void; startListening(): void; stopListening(): void; addListeners(model: IrisGridModel): void; removeListeners(model: IrisGridModel): void; get isCustomColumnsAvailable(): boolean; get isRollupAvailable(): boolean; get isSelectDistinctAvailable(): boolean; get originalColumns(): readonly DhType.Column[]; get partitionColumns(): readonly DhType.Column[]; get partitionConfig(): PartitionConfig | null; set partitionConfig(partitionConfig: PartitionConfig | null); partitionKeysTable(): Promise; partitionMergedTable(): Promise; partitionTable(partitions: unknown[]): Promise; get rollupConfig(): DhType.RollupConfig | null; set rollupConfig(rollupConfig: DhType.RollupConfig | null); get selectDistinctColumns(): ColumnName[]; set selectDistinctColumns(columnNames: string[]); set totalsConfig(totalsConfig: UITotalsTableConfig | null); get isFilterRequired(): boolean; get isPartitionRequired(): boolean; get isPartitionAwareSourceTable(): boolean; get formatter(): Formatter; set formatter(formatter: Formatter); get columnAlignmentMap(): ReadonlyMap; set columnAlignmentMap(columnAlignmentMap: Map); setViewport: (top: number, bottom: number, columns?: DhType.Column[]) => void; } export default IrisGridProxyModel; //# sourceMappingURL=IrisGridProxyModel.d.ts.map