import type { Datum } from '@visactor/vgrammar-core'; import type { IVennArea, IVennOverlapArc, IVennParams } from './utils/interface'; export interface IVennTransformOptions extends IVennParams { x0: number; x1: number; y0: number; y1: number; setField?: string; valueField?: string; orientation?: number; orientationOrder?: any; } export interface IVennTransformMarkOptions { datumType: 'circle' | 'overlap'; } export interface IVennCommonDatum extends IVennArea, IVennLabelDatum { datum: T; x: number; y: number; } export interface IVennCircleDatum extends IVennCommonDatum { type: 'circle'; radius: number; } export interface IVennOverlapDatum extends IVennCommonDatum { type: 'overlap'; path: string; arcs: IVennOverlapArc[]; } export interface IVennLabelDatum { labelX?: number; labelY?: number; }