import type { OverpassElement } from "./landscape-types";
export declare function parseOsmHeight(tags: Record<string, string> | undefined): number;
export declare function buildTerrain(elevGrid: number[][], radiusMeters: number, extent?: {
    x0: number;
    x1: number;
    z0: number;
    z1: number;
}): {
    positions: Float32Array;
    normals: Float32Array;
    indices: Uint32Array;
};
export declare function buildBuildings(elements: OverpassElement[], originLat: number, originLng: number, cosLat: number, sample?: (x: number, z: number) => number): {
    positions: Float32Array;
    normals: Float32Array;
    indices: Uint32Array;
};
export declare function buildRoads(elements: OverpassElement[], originLat: number, originLng: number, cosLat: number): {
    positions: Float32Array;
    normals: Float32Array;
    indices: Uint32Array;
};
export declare function buildContourLines(elevGrid: number[][], radiusMeters: number, extent?: {
    x0: number;
    x1: number;
    z0: number;
    z1: number;
}): {
    minorPositions: Float32Array;
    majorPositions: Float32Array;
};
export declare function buildWater(elements: OverpassElement[], originLat: number, originLng: number, cosLat: number, sample?: (x: number, z: number) => number, offset?: number): {
    positions: Float32Array;
    normals: Float32Array;
    indices: Uint32Array;
};
export declare function buildGreen(elements: OverpassElement[], originLat: number, originLng: number, cosLat: number, sample?: (x: number, z: number) => number): {
    positions: Float32Array;
    normals: Float32Array;
    indices: Uint32Array;
};
export declare const workerCode: any;
