import { type MapSeriesOption, SeriesOption } from 'echarts/lib/echarts';
import type { ECUnitOption } from 'echarts/lib/util/types';
import type { MapDataItemOption } from 'echarts/lib/chart/map/MapSeries';
import type { Datum } from './parseRawData';
export type VennMapDim = 1 | 2 | 3 | 4 | 5 | 6 | 7;
export type VennMapPrefix = 'VENN__';
export type VennMapName = `${VennMapPrefix}${VennMapDim}`;
export interface VennItemOption {
    dvDimensionCount: number;
    dvColors: string[];
}
export type VennDataItem = MapSeriesOption['data'][number] & {
    title: string;
    children: Datum[];
};
export interface VennSeriesOption extends VennItemOption, MapSeriesOption {
    type: 'map';
    dvType: 'venn';
    dvNameProperty: string;
    __titles?: string[];
    __rawData?: VennDataItem[];
    __combToDatums?: Map<string, Datum[]>;
    __collectionToDatums?: Map<string, Datum[]>;
    data: (MapDataItemOption & {
        __group: string[];
    })[] | VennDataItem[];
}
export type SeriesOptionWithVenn = SeriesOption | VennSeriesOption;
export interface OptionWithVenn extends ECUnitOption {
    series: SeriesOptionWithVenn | SeriesOptionWithVenn[];
}
