import React from 'react';
import { ShapeDefinition, ConditionalFormattingRule, Key } from '../../../../../shared-logic/src/ChartsV2/types';
import { BarStyles } from '../../../../../shared-logic/src/BarChartV2/types';
import { LineStyles } from '../../../../../shared-logic/src/LineChartV2/types';
import { AreaStyles } from '../../../../../shared-logic/src/AreaChartV2/types';
import { BubbleStyles } from '../../../../../shared-logic/src/BubbleChartV2/types';
import { ChartLegendTheme } from '../../../types';
declare type Item<T> = {
    legendItems: Array<ShapeDefinition<T>>;
    visibleYKeys: Array<string>;
    conditionalFormattingRules: Array<ConditionalFormattingRule>;
};
export declare type LegendProps<T> = {
    setVisibleYKeys?: React.Dispatch<React.SetStateAction<Array<string>>>;
    keys: {
        [key: string]: Key;
    };
    marginLeft: number;
    items: Item<T>[];
    legendTheme?: ChartLegendTheme;
};
export declare const Legend: ({ keys, setVisibleYKeys, marginLeft, items, legendTheme, }: LegendProps<BarStyles | LineStyles | AreaStyles | BubbleStyles>) => JSX.Element;
export {};
