import { Extent } from '../util/util';
import { DecodeResult } from './decode-strategy';
export interface TileSourceOptions {
    url: string;
    factor: string;
    zoom?: number;
    onerror?: any;
}
export interface ImageTileChunk {
    tileXYZ: number[];
    pixelXYS: number[];
    image: HTMLImageElement;
    isLoaded: boolean;
    isDecoded: boolean;
    decodeArr: DecodeResult[];
    canvas?: HTMLCanvasElement;
    texture?: WebGLTexture;
}
/**
 * 职责：
 * 1. 数据加载
 * 2. 数据加载后联动图层重绘
 * 3. 视口剔除（这块本来应该在渲染组件中，但是局部加载和局部渲染是一体的，职责转移到这里）
 * 4. 像素坐标解析格点值
 *
 * 加载优化：
 * 1. 支持局部加载
 * 2. 支持缓存
 *
 * 代码结构优化：
 * 1. 对象重用，减少垃圾回收：tileArray
 * 2. 手动垃圾回收。
 *
 * TODO
 * 1. 单点解析气象值，在图层切换时的自动回调解析
 */
export declare class TileGraySource {
    private tileArray;
    private sourceZoom;
    private sourceTileSize;
    private copyArray;
    private url;
    private factor;
    private onerror;
    private renderCallbackArray;
    constructor(options: TileSourceOptions);
    setConfig(options: TileSourceOptions): void;
    getFactor(): string;
    addRenderCallback(callback: (tileChunks: ImageTileChunk[], copyArray: number[]) => void): void;
    loadByExtent(pixelExtent: Extent, worldZoom: number): void;
    decodeTextByViewPixel(pixel: any, extent: any, worldZoom: any): string;
    /**
     * ViewPixel 是视口像素坐标的意思，decodeByViewPixel就是根据视口像素坐标反算
     * @param pixel 屏幕像素坐标
     * @param extent
     * @param worldZoom
     */
    decodeByViewPixel(pixel: [number, number], extent: any, worldZoom: any): DecodeResult;
    decodeTextByWorldPixel(wx: any, wy: any, wz: any): string;
    decodeTextByLngLat(lngLat: [number, number], zoom: number): string;
    decodeByLngLat(lngLat: [number, number], zoom: number): {
        rgba: Uint8ClampedArray;
        value: number;
    };
    decodeByWorldPixel(wx: any, wy: any, worldZoom: any): DecodeResult;
    private tileLoadedCallback;
    private allLoadedCallback;
    private loadTile;
    clear(): void;
    private static idw;
}
