/// <reference types="react" />
import { SisenseChartDataPointEventHandler, SisenseChartDataPointsEventHandler } from '../../../../../../../domains/visualizations/components/chart/components/sisense-chart/types.js';
import { ChartRendererProps } from '../../../../../../../domains/visualizations/components/chart/types.js';
import { BeforeRenderHandler } from '../../../../../../../props';
import { ContainerSize } from '../../../../../../../shared/components/dynamic-size-container/dynamic-size-container.js';
import { TypedChartData, TypedDataOptionsInternal, TypedDesignOptions } from '../../types.js';
import { BuildContext, HighchartBasedChartTypes, HighchartsOptionsBuilder } from '../types.js';
export type HighchartsBasedChartRendererProps<CT extends HighchartBasedChartTypes> = {
    chartData: TypedChartData<CT>;
    dataOptions: TypedDataOptionsInternal<CT>;
    designOptions: TypedDesignOptions<CT>;
    size: ContainerSize;
    onDataPointClick?: SisenseChartDataPointEventHandler;
    onDataPointContextMenu?: SisenseChartDataPointEventHandler;
    onDataPointsSelected?: SisenseChartDataPointsEventHandler;
    onBeforeRender?: BeforeRenderHandler;
};
/**
 * Creates a specific highcharts based chart renderer component
 * with memoized highcharts options builder and alerts builder.
 *
 * @param highchartsOptionsBuilder - The highcharts options builder.
 * @param getAlerts - The function to get the alerts.
 * @returns The highcharts based chart renderer component.
 */
export declare function createHighchartsBasedChartRenderer<CT extends HighchartBasedChartTypes>({ highchartsOptionsBuilder, getAlerts, }: {
    /**
     * The builder of highcharts options for specific chart type.
     */
    highchartsOptionsBuilder: HighchartsOptionsBuilder<CT>;
    /**
     * The function to get the alerts for specific chart type.
     */
    getAlerts: (ctx: BuildContext<CT>) => string[];
}): React.FC<HighchartsBasedChartRendererProps<CT>>;
/**
 * Type guard to check if a value is a valid props object for the HighchartsBasedChartRenderer component
 * @param value - The value to check
 * @returns True if the value is a valid HighchartsBasedChartRendererProps, false otherwise
 */
export declare function isHighchartsBasedChartRendererProps<CT extends HighchartBasedChartTypes>(props: ChartRendererProps): props is HighchartsBasedChartRendererProps<CT>;
