import type { D3InterpolateName } from '../colors'; import type { Vec2 } from '../math'; import type { AxisConfig } from '../plot'; import { type ComponentProps, type Snippet } from 'svelte'; import type { HTMLAttributes } from 'svelte/elements'; import HeatmapMatrixControls from './HeatmapMatrixControls.svelte'; import type { AxisItem, CellContext, DomainMode, HeatmapExportFormat, HeatmapTooltipProp, LegendPosition, NormalizeMode, SymmetricMode } from './index'; type CellValue = number | string | null; type SelectionMode = `single` | `multi` | `range`; type AxisOrderKey = `label` | `key` | `sort_value`; type AxisOrder = AxisOrderKey | ((a: AxisItem, b: AxisItem) => number); type CellPos = { x_idx: number; y_idx: number; }; type $$ComponentProps = Omit, `onclick` | `ondblclick`> & { x_items: AxisItem[]; y_items: AxisItem[]; values?: CellValue[][] | Record>; color_scale?: D3InterpolateName | ((val: number) => string); color_scale_range?: [number | null, number | null]; color_overrides?: Record; missing_color?: string; log?: boolean; value_transform?: (value: number, ctx: { x_item: AxisItem; y_item: AxisItem; x_idx: number; y_idx: number; }) => number | null; normalize?: NormalizeMode; domain_mode?: DomainMode; quantile_clip?: Vec2; show_legend?: boolean; legend_position?: LegendPosition; legend_label?: string; legend_ticks?: number; legend_format?: string; active_cell?: { x_idx: number; y_idx: number; } | null; selected_cells?: CellPos[]; selection_mode?: SelectionMode; pinned_cell?: CellPos | null; tooltip_mode?: `hover` | `pinned` | `both`; disabled?: boolean; onclick?: (cell: CellContext) => void; ondblclick?: (cell: CellContext) => void; onselect?: (cells: CellPos[]) => void; onpin?: (cell: CellPos | null) => void; oncontextmenu?: (cell: CellContext, event: MouseEvent) => void; enable_brush?: boolean; onbrush?: (payload: { x_range: Vec2; y_range: Vec2; cells: CellContext[]; }) => void; tile_size?: string; gap?: string; hide_empty?: false | `compact` | `gaps`; show_x_labels?: boolean; show_y_labels?: boolean; stagger_axis_labels?: boolean | `auto`; symmetric?: SymmetricMode; symmetric_label_position?: `diagonal` | `edge`; label_style?: string; x_order?: AxisOrder; y_order?: AxisOrder; highlight_x_keys?: string[]; highlight_y_keys?: string[]; search_query?: string; sticky_x_labels?: boolean; sticky_y_labels?: boolean; virtualize?: boolean; overscan?: number; export_formats?: HeatmapExportFormat[]; onexport?: (format: HeatmapExportFormat, payload: unknown) => void; show_gridlines?: boolean; gridline_color?: string; gridline_width?: string; animate_updates?: boolean; animation_duration?: string; show_row_summaries?: boolean; show_col_summaries?: boolean; summary_fn?: (values: number[]) => number | null; theme?: `default` | `light` | `dark` | `publication`; show_controls?: boolean; controls_open?: boolean; controls_props?: Partial>; controls_children?: Snippet<[{ controls_open: boolean; }]>; show_values?: boolean | string; x_axis?: AxisConfig; y_axis?: AxisConfig; tooltip?: HeatmapTooltipProp; cell?: Snippet<[CellContext]>; x_label_cell?: Snippet<[{ item: AxisItem; idx: number; }]>; y_label_cell?: Snippet<[{ item: AxisItem; idx: number; }]>; children?: Snippet; }; declare const HeatmapMatrix: import("svelte").Component<$$ComponentProps, {}, "controls_open" | "color_scale" | "active_cell" | "selected_cells" | "pinned_cell">; type HeatmapMatrix = ReturnType; export default HeatmapMatrix;