import { type D3InterpolateName } from '../colors'; import type { Snippet } from 'svelte'; import type { ClassValue } from 'svelte/elements'; import type { ExportFormat } from './export'; export { default as HeatmapTable } from './HeatmapTable.svelte'; export { default as ToggleMenu } from './ToggleMenu.svelte'; export * from './data'; export * from './export'; export { type CellPos, CellSelection } from './selection.svelte'; export { virtual_window } from './virtual'; export type CellVal = ClassValue | string | number | boolean | Date | undefined | null | Record | Record[]; export type RowData = { style?: string; class?: ClassValue; [key: string]: CellVal; }; export type DateTimeFormatMode = `date` | `time` | `datetime` | `iso` | `relative`; export type Label = { label: string; key?: string; group?: string; description?: string; format?: string; datetime_format?: DateTimeFormatMode; better?: `higher` | `lower`; color_scale?: D3InterpolateName | null; scale_type?: `linear` | `log`; normalize?: ColorNormalizeMode; domain_group?: string; render_as?: `heatmap` | `bar` | `both`; highlight_best?: boolean; filter?: `auto` | `numeric` | `text` | `category` | false; sticky?: boolean; visible?: boolean; sortable?: boolean; disabled?: boolean; style?: string; cell_style?: string; }; export declare const get_column_id: (col: Label) => string; export type CellSnippetArgs = { row: RowData; col: Label; val: CellVal; }; export type CellSnippet = Snippet<[CellSnippetArgs]>; export type SpecialCells = Record; export type SummaryStat = `mean` | `median` | `min` | `max` | `count`; export type ColumnPrefs = { width?: number; better?: `higher` | `lower`; color_scale?: D3InterpolateName | null; datetime_format?: DateTimeFormatMode; filter?: ColumnFilter; }; export type ColumnFilter = { kind: `numeric`; min?: number; max?: number; } | { kind: `text`; text: string; } | { kind: `category`; values: string[]; }; export type SortDir = `asc` | `desc`; export type TableSort = { column: string; dir: SortDir; }; export type SortHint = string | { text: string; position?: `top` | `bottom`; permanent?: boolean; style?: string; class?: ClassValue; }; export type InitialSort = string | { column: string; direction?: SortDir; }; export type Pagination = boolean | { page_size?: number; page_sizes?: number[]; on_page_size_change?: (page_size: number) => void; }; export type VirtualScroll = boolean | { overscan?: number; min_window?: number; }; export type Search = boolean | { placeholder?: string; expanded?: boolean; keys?: string[]; fuzzy?: boolean; }; export type ExportData = boolean | { formats?: ExportFormat[]; filename?: string; }; export type CellColor = { bg: string | null; text: string | null; }; export type ColumnStats = { values: number[]; min: number; max: number; q_lo: number; q_hi: number; mean: number; median: number | null; count: number; best: number | null; }; export declare function compute_column_stats(values: (number | null | undefined)[], better?: `higher` | `lower`, with_quantiles?: boolean): ColumnStats | null; type ColorNormalizeMode = `minmax` | `diverging` | `quantile`; export declare function resolve_color_domain(stats: ColumnStats, mode?: ColorNormalizeMode): [number, number]; export declare const merge_domains: (domains: [number, number][]) => [number, number] | null; export declare function make_cell_color_scale(all_values: CellVal[], // all values in the column better: `higher` | `lower` | undefined, // sort direction color_scale?: D3InterpolateName | null, // color scale name scale_type?: `linear` | `log`, // scale type domain?: [number, number]): (val: number | null | undefined) => CellColor;