import type { PropType } from 'vue'; import type { HeatmapCell, HeatmapGroup, HeatmapThresholds } from './heatmap.js'; import type { SelectItemKey } from '../../util/index.js'; export interface HeatmapLegendOptions { labels?: string[]; cellSize?: string | number | (string | number)[]; } export type VHeatmapSlots = { cell: { item: HeatmapCell; }; legend: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }; 'row-header': { row: any; index: number; items: HeatmapCell[]; }; 'column-header': { column: any; index: number; items: HeatmapCell[]; }; 'group-header': { group: HeatmapGroup; items: HeatmapCell[]; }; }; export declare const makeVHeatmapProps: (defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; cellSize: unknown extends Defaults["cellSize"] ? { type: PropType; default: number; } : Omit<{ type: PropType; default: number; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["cellSize"] ? string | number | (string | number)[] : Defaults["cellSize"] | NonNullable; }; gap: unknown extends Defaults["gap"] ? { type: (NumberConstructor | StringConstructor)[]; default: number; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: number; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["gap"] ? string | number : Defaults["gap"] | NonNullable; }; groupGap: unknown extends Defaults["groupGap"] ? { type: PropType; default: number; } : Omit<{ type: PropType; default: number; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["groupGap"] ? string | number : Defaults["groupGap"] | NonNullable; }; rounded: unknown extends Defaults["rounded"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["rounded"] ? string | number : Defaults["rounded"] | NonNullable; }; hideColumnHeaders: unknown extends Defaults["hideColumnHeaders"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["hideColumnHeaders"] ? boolean : boolean | Defaults["hideColumnHeaders"]; }; hideRowHeaders: unknown extends Defaults["hideRowHeaders"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["hideRowHeaders"] ? boolean : boolean | Defaults["hideRowHeaders"]; }; legend: unknown extends Defaults["legend"] ? { type: PropType; default: boolean; } : Omit<{ type: PropType; default: boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["legend"] ? boolean | HeatmapLegendOptions : Defaults["legend"] | NonNullable; }; hover: unknown extends Defaults["hover"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]; }; hoverScale: unknown extends Defaults["hoverScale"] ? { type: (NumberConstructor | StringConstructor)[]; default: number; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: number; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["hoverScale"] ? string | number : Defaults["hoverScale"] | NonNullable; }; items: unknown extends Defaults["items"] ? { type: PropType[]>; default: () => never[]; } : Omit<{ type: PropType[]>; default: () => never[]; }, "default" | "type"> & { type: PropType[] : Record[] | Defaults["items"]>; default: unknown extends Defaults["items"] ? Record[] : Record[] | Defaults["items"]; }; itemValue: unknown extends Defaults["itemValue"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["itemValue"] ? SelectItemKey : Defaults["itemValue"] | NonNullable; }; itemRow: unknown extends Defaults["itemRow"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["itemRow"] ? SelectItemKey : Defaults["itemRow"] | NonNullable; }; itemColumn: unknown extends Defaults["itemColumn"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["itemColumn"] ? SelectItemKey : Defaults["itemColumn"] | NonNullable; }; groupBy: unknown extends Defaults["groupBy"] ? PropType : { type: PropType; default: unknown extends Defaults["groupBy"] ? SelectItemKey : Defaults["groupBy"] | NonNullable; }; itemProps: unknown extends Defaults["itemProps"] ? PropType | ((item: HeatmapCell) => Record)> : { type: PropType | ((item: HeatmapCell) => Record) : Record | ((item: HeatmapCell) => Record) | Defaults["itemProps"]>; default: unknown extends Defaults["itemProps"] ? Record | ((item: HeatmapCell) => Record) : Defaults["itemProps"] | NonNullable | ((item: HeatmapCell) => Record)>; }; thresholds: unknown extends Defaults["thresholds"] ? { type: PropType; default: () => never[]; } : Omit<{ type: PropType; default: () => never[]; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["thresholds"] ? import("./colorScale.js").ColorScale : Defaults["thresholds"] | NonNullable; }; emptyColor: unknown extends Defaults["emptyColor"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["emptyColor"] ? string : string | Defaults["emptyColor"]; }; rows: unknown extends Defaults["rows"] ? PropType : { type: PropType; default: unknown extends Defaults["rows"] ? any[] : any[] | Defaults["rows"]; }; columns: unknown extends Defaults["columns"] ? PropType : { type: PropType; default: unknown extends Defaults["columns"] ? any[] : any[] | Defaults["columns"]; }; }; export declare const VHeatmap: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ cellSize: string | number | (string | number)[]; gap: string | number; groupGap: string | number; hideColumnHeaders: boolean; hideRowHeaders: boolean; legend: boolean | HeatmapLegendOptions; hover: boolean; hoverScale: string | number; items: Record[]; itemValue: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; itemRow: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; itemColumn: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; thresholds: import("./colorScale.js").ColorScale; } & { theme?: string | undefined; rounded?: string | number | undefined; groupBy?: SelectItemKey; itemProps?: Record | ((item: HeatmapCell) => Record) | undefined; emptyColor?: string | undefined; rows?: any[] | undefined; columns?: any[] | undefined; } & { $children?: { cell?: ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; legend?: ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; 'row-header'?: ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'column-header'?: ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'group-header'?: ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | {} | import("vue").VNodeChild; 'v-slots'?: { cell?: false | ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; legend?: false | ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; 'row-header'?: false | ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'column-header'?: false | ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'group-header'?: false | ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:cell"?: false | ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; "v-slot:column-header"?: false | ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; "v-slot:group-header"?: false | ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; "v-slot:legend"?: false | ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; "v-slot:row-header"?: false | ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { cellSize: string | number | (string | number)[]; gap: string | number; groupGap: string | number; hideColumnHeaders: boolean; hideRowHeaders: boolean; legend: boolean | HeatmapLegendOptions; hover: boolean; hoverScale: string | number; items: Record[]; itemValue: SelectItemKey; itemRow: SelectItemKey; itemColumn: SelectItemKey; thresholds: import("./colorScale.js").ColorScale; }, true, {}, import("vue").SlotsType import("vue").VNode[]; legend: (arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNode[]; 'row-header': (arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNode[]; 'column-header': (arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNode[]; 'group-header': (arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { cellSize: string | number | (string | number)[]; gap: string | number; groupGap: string | number; hideColumnHeaders: boolean; hideRowHeaders: boolean; legend: boolean | HeatmapLegendOptions; hover: boolean; hoverScale: string | number; items: Record[]; itemValue: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; itemRow: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; itemColumn: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; thresholds: import("./colorScale.js").ColorScale; } & { theme?: string | undefined; rounded?: string | number | undefined; groupBy?: SelectItemKey; itemProps?: Record | ((item: HeatmapCell) => Record) | undefined; emptyColor?: string | undefined; rows?: any[] | undefined; columns?: any[] | undefined; } & { $children?: { cell?: ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; legend?: ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; 'row-header'?: ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'column-header'?: ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'group-header'?: ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | {} | import("vue").VNodeChild; 'v-slots'?: { cell?: false | ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; legend?: false | ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; 'row-header'?: false | ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'column-header'?: false | ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'group-header'?: false | ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:cell"?: false | ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; "v-slot:column-header"?: false | ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; "v-slot:group-header"?: false | ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; "v-slot:legend"?: false | ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; "v-slot:row-header"?: false | ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; }, {}, {}, {}, {}, { cellSize: string | number | (string | number)[]; gap: string | number; groupGap: string | number; hideColumnHeaders: boolean; hideRowHeaders: boolean; legend: boolean | HeatmapLegendOptions; hover: boolean; hoverScale: string | number; items: Record[]; itemValue: SelectItemKey; itemRow: SelectItemKey; itemColumn: SelectItemKey; thresholds: import("./colorScale.js").ColorScale; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ cellSize: string | number | (string | number)[]; gap: string | number; groupGap: string | number; hideColumnHeaders: boolean; hideRowHeaders: boolean; legend: boolean | HeatmapLegendOptions; hover: boolean; hoverScale: string | number; items: Record[]; itemValue: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; itemRow: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; itemColumn: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; thresholds: import("./colorScale.js").ColorScale; } & { theme?: string | undefined; rounded?: string | number | undefined; groupBy?: SelectItemKey; itemProps?: Record | ((item: HeatmapCell) => Record) | undefined; emptyColor?: string | undefined; rows?: any[] | undefined; columns?: any[] | undefined; } & { $children?: { cell?: ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; legend?: ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; 'row-header'?: ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'column-header'?: ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'group-header'?: ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | {} | import("vue").VNodeChild; 'v-slots'?: { cell?: false | ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; legend?: false | ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; 'row-header'?: false | ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'column-header'?: false | ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; 'group-header'?: false | ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:cell"?: false | ((arg: { item: HeatmapCell; }) => import("vue").VNodeChild) | undefined; "v-slot:column-header"?: false | ((arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; "v-slot:group-header"?: false | ((arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; "v-slot:legend"?: false | ((arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNodeChild) | undefined; "v-slot:row-header"?: false | ((arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNodeChild) | undefined; }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, { cellSize: string | number | (string | number)[]; gap: string | number; groupGap: string | number; hideColumnHeaders: boolean; hideRowHeaders: boolean; legend: boolean | HeatmapLegendOptions; hover: boolean; hoverScale: string | number; items: Record[]; itemValue: SelectItemKey; itemRow: SelectItemKey; itemColumn: SelectItemKey; thresholds: import("./colorScale.js").ColorScale; }, {}, string, import("vue").SlotsType import("vue").VNode[]; legend: (arg: { thresholds: HeatmapThresholds; activeBuckets: number[]; toggle: (index: number) => void; }) => import("vue").VNode[]; 'row-header': (arg: { row: any; index: number; items: HeatmapCell[]; }) => import("vue").VNode[]; 'column-header': (arg: { column: any; index: number; items: HeatmapCell[]; }) => import("vue").VNode[]; 'group-header': (arg: { group: HeatmapGroup; items: HeatmapCell[]; }) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; cellSize: { type: PropType; default: number; }; gap: { type: (NumberConstructor | StringConstructor)[]; default: number; }; groupGap: { type: PropType; default: number; }; rounded: (NumberConstructor | StringConstructor)[]; hideColumnHeaders: BooleanConstructor; hideRowHeaders: BooleanConstructor; legend: { type: PropType; default: boolean; }; hover: BooleanConstructor; hoverScale: { type: (NumberConstructor | StringConstructor)[]; default: number; }; items: { type: PropType[]>; default: () => never[]; }; itemValue: { type: PropType; default: string; }; itemRow: { type: PropType; default: string; }; itemColumn: { type: PropType; default: string; }; groupBy: PropType; itemProps: PropType | ((item: HeatmapCell) => Record)>; thresholds: { type: PropType; default: () => never[]; }; emptyColor: StringConstructor; rows: PropType; columns: PropType; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; cellSize: { type: PropType; default: number; }; gap: { type: (NumberConstructor | StringConstructor)[]; default: number; }; groupGap: { type: PropType; default: number; }; rounded: (NumberConstructor | StringConstructor)[]; hideColumnHeaders: BooleanConstructor; hideRowHeaders: BooleanConstructor; legend: { type: PropType; default: boolean; }; hover: BooleanConstructor; hoverScale: { type: (NumberConstructor | StringConstructor)[]; default: number; }; items: { type: PropType[]>; default: () => never[]; }; itemValue: { type: PropType; default: string; }; itemRow: { type: PropType; default: string; }; itemColumn: { type: PropType; default: string; }; groupBy: PropType; itemProps: PropType | ((item: HeatmapCell) => Record)>; thresholds: { type: PropType; default: () => never[]; }; emptyColor: StringConstructor; rows: PropType; columns: PropType; }>>; export type VHeatmap = InstanceType;