export interface IPolygonProps { data: any; shape: string; color: IColor; scale?: IScale; animate?: boolean | IIndeterminateObj; active?: boolean; style?: IStyle; size?: ISize; options?: any; } export interface IColor { firstColor: string; secondColor?: Function | Array; } export interface IScale { firstScale?: string; secondScale?: Function | Array; } export interface IIndeterminateObj { [key: string]: string | number | boolean | object; } export interface IStyle { opacity?: number | any; raisingHeight?: number; opacityLinear?: IOpacityLinear; heightfixed?: boolean; topsurface?: boolean; sidesurface?: boolean; sourceColor?: IColor; targetColor?: IColor; speed?: number; waterTexture?: string; watercolor?: IColor; watercolor2?: IColor; } type IDir = 'in' | 'out'; export interface IOpacityLinear { enable: false; dir: IDir; } export interface ISize { firstSize: string; secondSize?: Function | Array | Array; } export interface IScaleConfig { type: string; domain?: any[]; range?: any[]; neutral?: number; field?: string; unknown?: string; ticks?: any[]; nice?: boolean; clamp?: boolean; format?: () => any; } export interface IAnimate { ['string']: boolean; } export interface IActiveColor { color: string; } export interface ICityBuildingStyle { baseColor?: string; windowColor?: string; brightColor?: string; sweep?: ISweep; ['string']: any; } export interface ISweep { sweepRadius?: number; sweepCenter?: number; sweepColor?: string; sweepSpeed?: string; } export {};