import { CanvasTexture, type Mesh } from "three";
import type { TerrainStyle } from "./landscape-types";
export type TerrainTileFetcher = (zoom: number, x: number, y: number) => Promise<Blob | null>;
export declare function applyTerrainStyle(mesh: Mesh, style: TerrainStyle, radius: number, textureData?: {
    texture: CanvasTexture;
    texExtent: {
        x0: number;
        x1: number;
        z0: number;
        z1: number;
    };
}, defaultColor?: number): void;
export declare function stitchTerrainTiles(fetcher: TerrainTileFetcher, centerLat: number, centerLng: number, gridExtent: {
    x0: number;
    x1: number;
    z0: number;
    z1: number;
}): Promise<{
    texture: CanvasTexture;
    texExtent: {
        x0: number;
        x1: number;
        z0: number;
        z1: number;
    };
}>;
