import { Evented } from '../util/evented';
import TileBounds from './tile_bounds';
import type { Source } from './source';
import type { OverscaledTileID } from './tile_id';
import type Map from '../ui/map';
import type Dispatcher from '../util/dispatcher';
import type Tile from './tile';
import type { Callback } from '../types/callback';
import type { Cancelable } from '../types/cancelable';
import type { RasterSourceSpecification, RasterDEMSourceSpecification } from '../style-spec/types';
declare class RasterTileSource extends Evented implements Source {
    type: 'raster' | 'raster-dem';
    id: string;
    minzoom: number;
    maxzoom: number;
    url: string;
    scheme: string;
    tileSize: number;
    bounds: [number, number, number, number] | undefined | null;
    tileBounds: TileBounds;
    roundZoom: boolean;
    dispatcher: Dispatcher;
    map: Map;
    tiles: Array<string>;
    _loaded: boolean;
    _options: RasterSourceSpecification | RasterDEMSourceSpecification;
    _tileJSONRequest: Cancelable | undefined | null;
    constructor(id: string, options: RasterSourceSpecification | RasterDEMSourceSpecification, dispatcher: Dispatcher, eventedParent: Evented);
    load(): void;
    loaded(): boolean;
    onAdd(map: Map): void;
    onRemove(): void;
    serialize(): any;
    hasTile(tileID: OverscaledTileID): boolean;
    loadTile(tile: Tile, callback: Callback<void>): void;
    abortTile(tile: Tile, callback: Callback<void>): void;
    unloadTile(tile: Tile, callback: Callback<void>): void;
    hasTransition(): boolean;
}
export default RasterTileSource;
//# sourceMappingURL=raster_tile_source.d.ts.map