export type TdrawType = 'point' | 'line' | 'polygon' | 'rect' | 'circle'; import { Feature } from '../geojsonType'; export interface IOptions { autoActive?: boolean; editable?: boolean; multiple?: boolean; style?: IStyle; helper?: string | Element | DocumentFragment | boolean; keyboard?: IKeyboard; history?: IHistory; showMidPoint?: boolean; distanceOptions?: IDistanceOptions; adsorbOptions?: false | IAdsorbOptions; areaOptions?: false | IAreaOptions; liveUpdate?: boolean; trigger?: 'click' | 'drag'; circleSteps?: number; } export interface IAreaOptions { format?: (area: number) => string; } export interface IAdsorbOptions { pointAdsorbPixel?: number; lineAdsorbPixel?: number; } export interface IDistanceOptions { showTotalDistance?: boolean; showDashDistance?: boolean; format?: (distance: number) => string; } export interface IHistory { maxSize?: number; } export interface IKeyboard { revert?: TkeyboardType; redo?: TkeyboardType; remove?: TkeyboardType; } export type TkeyboardType = string[] | false; export interface IStyle { point: IPointStyleItem; line: ILineStyleItem; polygon: IPolygonItem; } export interface IPointStyleItem { color?: string; shape?: string; size?: number; stroke?: string; } export interface ILineStyleItem { color: string; size: number; } export interface IPolygonItem { color: string; } export type Tdata = Feature[] | number[] | number[][] | number[][];