import { Map } from 'ol'; import { Coordinate } from 'ol/coordinate'; import { Extent } from 'ol/extent'; import { Image } from 'ol/layer'; import { ProjectionLike } from 'ol/proj'; import { Size } from 'ol/size'; import { IOptions, IField, Field } from 'wind-core'; export { Field } from 'wind-core'; declare enum LayerType { IMAGE = 'IMAGE', TILE = 'TILE', VECTOR_TILE = 'VECTOR_TILE', VECTOR = 'VECTOR', } type Pixel = number[]; interface IWindOptions extends IOptions { opacity?: number; map?: Map; visible?: boolean; extent?: Extent; minResolution?: number; maxResolution?: number; zIndex?: number; windOptions: Partial; fieldOptions: Partial; [key: string]: any; } declare class OlWind extends Image { private options; private canvas; private wind; private field; private pixelRatio; private viewProjection; constructor(data: any, options?: Partial); /** * append layer to map * @param map */ appendTo(map: Map): void; start(): void; stop(): void; canvasFunction(extent: Extent, resolution: number, pixelRatio: number, size: Size, proj: ProjectionLike): HTMLCanvasElement; private getContext; /** * render windy layer * @param canvas * @returns {BMapWind} */ private render; project(coordinate: Coordinate): [number, number]; unproject(pixel: Pixel): [number, number]; intersectsCoordinate(coordinate: Coordinate): boolean; private pickWindOptions; /** * get wind layer data */ getData(): Field | undefined; /** * set layer data * @param data * @param options * @returns {OlWind} */ setData(data: any, options?: Partial): this; updateParams(options?: Partial): this; getParams(): Partial; setWindOptions(options: Partial): void; getWindOptions(): Partial; private getProjection; /** * set map * @param map */ setMap(map: any): void; /** * get map */ getMap(): any; getType(): LayerType; } declare const WindLayer: typeof OlWind; export { type IWindOptions, WindLayer, OlWind as default };