import React from 'react';
import 'uplot/dist/uPlot.min.css';
import { VizThemeKey, VizTheme } from './theme';
export interface HeatmapLegendProps {
    yMaxValue: number;
    width: number;
    height: number;
    yLegendLabel: string;
    data: [startEpochSeconds: number[], yStart: number[], yEnd: number[], weight: number[]];
    theme: VizTheme;
}
export type UserAnalytics = () => {
    event: (eventCategory: string, eventAction: string, eventValue?: any, eventLabel?: string) => void;
    pageview?: (page: any, title: any) => void;
    setUserInfo?: (userInfo: any) => void;
};
export interface OverlayParameters {
    uOverRect: {
        left: number;
        top: number;
        height: number;
        width: number;
    };
    posToVal: (leftTop: number, scaleKey: 'x' | 'y') => number;
    valToPos: (val: number, scaleKey: 'x' | 'y') => number;
}
export interface InternalHeatmapProps {
    width: number;
    height: number;
    timeZone: string;
    userAnalytics?: ReturnType<UserAnalytics>;
    data: [startEpochSeconds: number[], yStart: number[], yEnd: number[], weight: number[]];
    timeRangeEpochSeconds?: {
        start: number;
        end: number;
    };
    yLabel: string;
    yLegendLabel: string;
    overlay?: (params: OverlayParameters) => JSX.Element;
}
export type HeatmapProps = InternalHeatmapProps & {
    theme?: VizThemeKey;
};
export declare const Heatmap: React.FC<HeatmapProps>;
