import type { D3InterpolateName } from '../../colors'; import type { DenseInternalPoint } from './adaptive-density'; import type { ColorScaleConfig, LabelPlacementConfig, RefLine, ScatterHandlerProps, SizeScaleConfig } from '../core/types'; import type { Snippet } from 'svelte'; export type BinnedColorScaleConfig = ColorScaleConfig | D3InterpolateName; export type BinnedSizeScaleConfig = SizeScaleConfig & { pick_radius?: number | `auto`; }; export declare const DEFAULT_BINNED_SIZE_SCALE: BinnedSizeScaleConfig; export type BinnedDensityConfig = { bin_px?: number; color_scale?: BinnedColorScaleConfig; auto_point_mode?: false | { max_points?: number; max_points_per_px?: number; }; bin_click?: `zoom` | `point` | `none`; }; export type BinnedOverlaysConfig = { ref_lines?: RefLine[]; }; export type BinnedPointBasePayload = Record> = ScatterHandlerProps & { point: DenseInternalPoint; color?: string; }; export type BinnedPointDataFn = Record, PointData extends Record = Record> = (payload: BinnedPointBasePayload) => PointData | null | undefined; export type BinnedPointPayload = Record, PointData extends Record = Record> = BinnedPointBasePayload & { point_data?: PointData; }; export type BinnedPointLabelsConfig = Record, PointData extends Record = Record> = { render?: Snippet<[BinnedPointPayload]>; measure_text?: (payload: BinnedPointPayload) => string; font_size?: string; max_count?: number; gap_px?: number; placement?: Partial; leaders?: { min_length_px?: number; }; };