import { PureComponent, type JSX } from 'react'; import { VizOrientation } from '@grafana/data'; interface Props { /** * Optionally precalculate dimensions to support consistent behavior between repeated * values. Two typical patterns are: * 1) Calculate raw values like font size etc and pass them to each vis * 2) find the maximum input values and pass that to the vis */ getAlignmentFactors?: (values: V[], width: number, height: number) => D; /** * Render a single value */ renderValue: (props: VizRepeaterRenderValueProps) => JSX.Element; height: number; width: number; source: unknown; getValues: () => V[]; renderCounter: number; orientation: VizOrientation; itemSpacing?: number; /** When orientation is set to auto layout items in a grid */ autoGrid?: boolean; minVizWidth?: number; minVizHeight?: number; maxVizHeight?: number; } export interface VizRepeaterRenderValueProps { value: V; width: number; height: number; orientation: VizOrientation; alignmentFactors: D; /** * Total number of values being shown in repeater */ count: number; } interface DefaultProps { itemSpacing: number; } type PropsWithDefaults = Props & DefaultProps; interface State { values: V[]; } export declare class VizRepeater extends PureComponent, State> { static defaultProps: DefaultProps; constructor(props: PropsWithDefaults); componentDidUpdate(prevProps: Props): void; getOrientation(): VizOrientation; renderGrid(): import("react/jsx-runtime").JSX.Element; render(): import("react/jsx-runtime").JSX.Element; } export {};