export default class SpatialDataShapesSource extends SpatialDataTableSource {
    /**
     *
     * @param {string} path A path to within shapes.
     * @returns {Promise<"0.1"|"0.2"|"0.3">} The format version.
     */
    getShapesFormatVersion(path: string): Promise<"0.1" | "0.2" | "0.3">;
    /**
     * Helper to get geometry column from Arrow table and check type.
     * @param {import('apache-arrow').Table} arrowTable
     * @param {string} columnName
     * @returns {import('apache-arrow').Vector}
     */
    _getGeometryColumn(arrowTable: import("apache-arrow").Table, columnName: string): import("apache-arrow").Vector;
    /**
     * Helper to check if geometry column is WKB encoded.
     * @param {import('apache-arrow').Table} arrowTable
     * @param {string} columnName
     * @returns {boolean}
     */
    _isWkbColumn(arrowTable: import("apache-arrow").Table, columnName: string): boolean;
    /**
     * Helper to decode WKB geometry column as flat coordinates (for points).
     * @param {import('apache-arrow').Vector} geometryColumn
     * @returns {[number, number][]} Array of [x, y] coordinates.
     */
    _decodeWkbColumnFlat(geometryColumn: import("apache-arrow").Vector): [number, number][];
    /**
     * Helper to decode WKB geometry column as nested coordinates (for polygons).
     * @param {import('apache-arrow').Vector} geometryColumn
     * @returns {[number, number][][]} Array of polygons, each as array of [x, y] pairs.
     */
    _decodeWkbColumnNested(geometryColumn: import("apache-arrow").Vector): [number, number][][];
    /**
     *
     * @param {string} elementPath
     * @returns {Promise<Array<any>|null>}
     */
    loadShapesIndex(elementPath: string): Promise<Array<any> | null>;
    /**
     *
     * @param {string} path
     * @returns {Promise<{
     *  data: [number, number][][],
     *  shape: [number, null],
     * }>} A promise for a zarr array containing the data.
     */
    loadPolygonShapes(path: string): Promise<{
        data: [number, number][][];
        shape: [number, null];
    }>;
    /**
     *
     * @param {string} path
     * @returns {Promise<{
     *  data: [ZarrTypedArray<any>, ZarrTypedArray<any>],
     *  shape: [number, number],
     * }>} A promise for a zarr array containing the data.
     */
    loadCircleShapes(path: string): Promise<{
        data: [ZarrTypedArray<any>, ZarrTypedArray<any>];
        shape: [number, number];
    }>;
}
import SpatialDataTableSource from './SpatialDataTableSource.js';
import type { TypedArray as ZarrTypedArray } from 'zarrita';
//# sourceMappingURL=SpatialDataShapesSource.d.ts.map