import { Map as MapSDK } from '@maptiler/sdk';
import { ColorRamp } from '../../core/ColorRamp';
import { TileLayer } from '../TileLayer/TileLayer';
import { PrecipitationLayerOptions, PrecipitationPickAt } from './types';
/**
 * The PrecipitationLayer shows the atmospheric precipitation in millibar (or hectopascal)
 */
declare class PrecipitationLayer extends TileLayer {
    private constructorOptions;
    private isSourceReady;
    private colorRamp;
    constructor(options?: PrecipitationLayerOptions);
    onAdd(map: MapSDK, gl: WebGLRenderingContext | WebGL2RenderingContext): Promise<void>;
    /**
     * Check if the data source that fuels the layer has been fully fetched and processed
     * @returns
     */
    getIsSourceReady(): boolean;
    /**
     * Get the amount of precipitation in mm/h
     * @param lng
     * @param lat
     * @param options: bilinear interpolation (boolean) is disabled by default for better performance
     * @returns
     */
    pickAt(lng: number, lat: number, options?: {
        bilinear?: boolean;
    }): PrecipitationPickAt | null;
    /**
     * Get the color ramp in use by the layer
     * @returns
     */
    getColorRamp(): Readonly<ColorRamp>;
    /**
     * Async function corresponding to the "sourceReady" event.
     * Resolves directly if source is already ready, or awaits the "sourceReady"
     * event if not.
     */
    onSourceReadyAsync(): Promise<void>;
}
export { PrecipitationLayer };
