import { type ReactNode } from 'react'; import type { IndicatorsDisplay } from '../../../core/components/annotations/components/indicators/types.js'; import type { AnnotationsMarkerConfig, BaseMarkerProps, NumericalMarkerProps } from '../../../core/components/annotations/types/annotations-marker-props.js'; import type { AnnotationsTrackConfig, AnnotationsTrackProps } from '../../../core/components/annotations/types/annotations-track-props.js'; import type { BaseAnnotationsChartProps } from '../../../core/components/annotations/types/annotations.js'; import type { WithId } from '../../../core/types/with-id.js'; /** @internal */ export type HistogramAnnotationsMarkerConfig = AnnotationsMarkerConfig & HistogramAnnotationsMarkerProps & NumericalMarkerProps & { indicatorsDisplay?: IndicatorsDisplay; }; /** @internal */ export type HistogramAnnotationsTrackRendererProps = AnnotationsTrackConfig & { markers: WithId[]; annotationsActions?: (annotation: HistogramAnnotationsMarkerProps) => ReactNode; indicatorsDisplay?: IndicatorsDisplay; }; /** * @internal */ export type HistogramAnnotationsConfigProps = { tracks: HistogramAnnotationsTrackRendererProps[]; } & HistogramAnnotationsProps; /** * @public */ export interface HistogramAnnotationsMarkerProps extends BaseMarkerProps, NumericalMarkerProps { /** * Defines how to show the marker indicator on top of the chart: always, never, or on hover (auto) * @defaultValue 'auto' */ indicatorsDisplay?: IndicatorsDisplay; } /** * @public */ export interface HistogramAnnotationsTrackProps extends AnnotationsTrackProps { /** * Defines how to show the annotations indicators: always, never, or on hover (auto) at Track level * @defaultValue 'auto' */ indicatorsDisplay?: IndicatorsDisplay; } /** * HistogramChart Annotations subcomponent props * @public */ export interface HistogramAnnotationsProps extends BaseAnnotationsChartProps { /** * How many tracks to show by default, if there are more tracks than the specified here a scrollbar will be added. * @defaultValue 3 */ visibleTracksLimit?: number; }