/**
 * Mercantile implementation in TypeScript
 * Provides functions for working with web mercator tiles
 */
interface Tile {
    x: number;
    y: number;
    z: number;
}
interface Bounds {
    west: number;
    south: number;
    east: number;
    north: number;
}
/**
 * Convert longitude/latitude to tile coordinates
 * @param lng Longitude in degrees
 * @param lat Latitude in degrees
 * @param zoom Zoom level
 * @returns Tile coordinates
 */
declare function tile(lng: number, lat: number, zoom: number): Tile;
/**
 * Convert tile coordinates to longitude/latitude bounds
 * @param x Tile X coordinate
 * @param y Tile Y coordinate
 * @param z Zoom level
 * @returns Bounds object with west, south, east, north in degrees
 */
declare function bounds(x: number, y: number, z: number): Bounds;
/**
 * Convert tile coordinates to quadkey
 * @param tile Tile object
 * @returns Quadkey string
 */
declare function quadkey(tile: Tile): string;
/**
 * Convert quadkey to tile coordinates
 * @param quadkey Quadkey string
 * @returns Tile object
 */
declare function quadkeyToTile(quadkey: string): Tile;
/**
 * Get the parent tile of a tile
 * @param tile Tile object
 * @returns Parent tile
 */
declare function parent(tile: Tile): Tile;
/**
 * Get the children tiles of a tile
 * @param tile Tile object
 * @returns Array of child tiles
 */
declare function children(tile: Tile): Tile[];
/**
 * Get the sibling tiles of a tile
 * @param tile Tile object
 * @returns Array of sibling tiles
 */
declare function siblings(tile: Tile): Tile[];
/**
 * Get the tile coordinates for a point in web mercator coordinates
 * @param x Web mercator X coordinate
 * @param y Web mercator Y coordinate
 * @param zoom Zoom level
 * @returns Tile coordinates
 */
declare function xyTile(x: number, y: number, zoom: number): Tile;
/**
 * Convert tile coordinates to web mercator coordinates
 * @param tile Tile object
 * @returns Web mercator coordinates [x, y]
 */
declare function tileToXY(tile: Tile): [number, number];
/**
 * Convert longitude/latitude to web mercator coordinates
 * @param lng Longitude in degrees
 * @param lat Latitude in degrees
 * @returns Web mercator coordinates [x, y]
 */
declare function lngLatToXY(lng: number, lat: number): [number, number];
/**
 * Convert web mercator coordinates to longitude/latitude
 * @param x Web mercator X coordinate
 * @param y Web mercator Y coordinate
 * @returns Longitude/latitude coordinates [lng, lat]
 */
declare function xyToLngLat(x: number, y: number): [number, number];

export { type Bounds, type Tile, bounds, children, lngLatToXY, parent, quadkey, quadkeyToTile, siblings, tile, tileToXY, xyTile, xyToLngLat };
