import { Component } from 'react'; import memoizee from 'memoizee'; import type { dh } from '@deephaven/jsapi-types'; import { TableUtils } from '@deephaven/jsapi-utils'; import { Pending } from '@deephaven/utils'; import './IrisGridPartitionSelector.scss'; import { type PartitionConfig, type PartitionedGridModel } from './PartitionedGridModel'; interface IrisGridPartitionSelectorProps { model: PartitionedGridModel; partitionConfig?: PartitionConfig; onChange: (partitionConfig: PartitionConfig) => void; } interface IrisGridPartitionSelectorState { isLoading: boolean; baseTable: dh.Table | null; keysTable: dh.Table | null; partitionTables: dh.Table[] | null; } declare class IrisGridPartitionSelector extends Component { constructor(props: IrisGridPartitionSelectorProps); componentDidMount(): Promise; componentDidUpdate(prevProps: IrisGridPartitionSelectorProps): void; componentWillUnmount(): void; pending: Pending; tableUtils: TableUtils; handlePartitionTableClick(): void; handleMergeClick(): void; /** * Handles when a partition dropdown selection is changed. Will send an update with the new partition config * @param index Index of the partition column that was changed * @param selectedValue Selected value of the partition column */ handlePartitionSelect(index: number, selectedValue: unknown): Promise; sendUpdate(partitionConfig: PartitionConfig): void; /** * Calls model.displayString with a special character case * @param index The index of the partition column to get the display value for * @param value The partition value to get the display value for */ getDisplayValue(index: number, value: unknown): string; /** * Update the options on the partition dropdown tables */ updatePartitionOptions(): Promise; getPartitionFilters(partitionTables: dh.Table[]): dh.FilterCondition[][]; getCachedChangeCallback: ((index: number) => (value: unknown) => Promise) & memoizee.Memoized<(index: number) => (value: unknown) => Promise>; getCachedFormatValueCallback: ((index: number) => (value: unknown) => string) & memoizee.Memoized<(index: number) => (value: unknown) => string>; render(): JSX.Element; } export default IrisGridPartitionSelector; //# sourceMappingURL=IrisGridPartitionSelector.d.ts.map