import { BlendType, IActiveOption, IAnimateOption, ILayer, IScale, IScaleOptions, ISourceCFG, Scene } from '@antv/l7'; import * as React from 'react'; import Active from './Active'; import Animate from './Animate'; import Color from './Color'; import Filter from './Filter'; import Scale from './Scale'; import Select from './Select'; import Shape from './Shape'; import Size from './Size'; import Source from './Source'; import Style from './Style'; declare type CallBack = (...args: any[]) => any; export interface IAttributeOptions { field: string; value: string | number; values: string[] | number[] | string | number | CallBack; scale?: string; blend: keyof typeof BlendType; options?: { [key: string]: any; }; } export interface IScaleAttributeOptions { field: string | IScaleOptions; value: IScale; values: IScaleOptions | IScale; } export interface ILayerOption { name?: string; visible: boolean; zIndex: number; minZoom: number; maxZoom: number; autoFit: boolean; blend: keyof typeof BlendType; [key: string]: any; } export interface IScaleOption { [key: string]: IScaleAttributeOptions; } export interface IStyleOptions { opacity: number; [key: string]: any; } export interface ISourceOptions extends ISourceCFG { data: any; autoFit?: boolean; fitBoundsOptions?: any; } export interface IActiveOptions { option: IActiveOption | boolean; } export interface ILayerProps { options?: Partial; source: ISourceOptions; color: Partial; shape: Partial; scale?: Partial; size?: Partial; style?: Partial; active?: IActiveOptions; select?: IActiveOptions; filter?: Partial; animate?: Partial; onLayerLoaded?: (layer: ILayer, scene: Scene) => void; children?: React.ReactNode; } export { Active, Color, Filter, Source, Size, Shape, Style, Scale, Select, Animate, };