import { Widget, WidgetConfig } from "../ui/Widget"; import { PureContainerBase, PureContainerConfig } from "../ui/PureContainer"; import { Instance } from "../ui/Instance"; import { RenderingContext } from "../ui/RenderingContext"; import { Prop, NumberProp, DataRecord } from "../ui/Prop"; export interface ColorMapConfig extends WidgetConfig { /** A callback function used to get a cache object for storing color maps across renders. */ onGetCache?: string | (() => DataRecord); /** An array of names to pre-register in the color map. */ names?: Prop; /** The step value for color indexing. If not specified, it's calculated based on the number of entries. */ step?: NumberProp; /** The starting offset for color indexing. Default is 0. */ offset?: NumberProp; /** The size of the color palette. Default is 16. */ size?: NumberProp; } export interface ColorMapInstance extends Instance { colorMaps?: { [key: string]: ColorIndex; }; } export declare class ColorMap extends Widget { offset: number; step: number | null; size: number; onGetCache?: ColorMapConfig["onGetCache"]; static Scope: typeof ColorMapScope; constructor(config?: ColorMapConfig); declareData(...args: any[]): void; explore(context: RenderingContext, instance: Instance): void; render(): null; } export interface ColorMapScopeConfig extends PureContainerConfig { } export declare class ColorMapScope extends PureContainerBase { constructor(config?: ColorMapScopeConfig); explore(context: RenderingContext, instance: ColorMapInstance): void; exploreCleanup(context: RenderingContext, instance: ColorMapInstance): void; prepare(context: RenderingContext, instance: ColorMapInstance): void; prepareCleanup(context: RenderingContext, instance: ColorMapInstance): void; } export interface ColorIndexConfig { offset: number; step: number | null; size: number; } export declare class ColorIndex { colorMap: { [key: string]: number; }; dirty: boolean; offset: number; step: number | null; size: number; constructor({ offset, step, size }: ColorIndexConfig); acknowledge(name: string): void; map(name: string): number; } //# sourceMappingURL=ColorMap.d.ts.map