/**
 * FlatGeobuf Builder
 *
 * Converts GML geometries to FlatGeobuf format (.fgb).
 * FlatGeobuf is a performant binary encoding for geographic data based on flatbuffers.
 *
 * @see https://flatgeobuf.org/
 */
import { Builder, GmlPoint, GmlLineString, GmlPolygon, GmlLinearRing, GmlEnvelope, GmlBox, GmlCurve, GmlSurface, GmlMultiPoint, GmlMultiLineString, GmlMultiPolygon, GmlFeature, GmlFeatureCollection, GmlRectifiedGridCoverage, GmlGridCoverage, GmlReferenceableGridCoverage, GmlMultiPointCoverage, Geometry, Feature, FeatureCollection } from '../types.js';
/**
 * Builder that converts GML to GeoJSON and provides methods to export as FlatGeobuf
 */
export declare class FlatGeobufBuilder implements Builder<Geometry, Feature, FeatureCollection> {
    private geoJsonBuilder;
    constructor();
    buildPoint(gml: GmlPoint): Geometry;
    buildLineString(gml: GmlLineString): Geometry;
    buildPolygon(gml: GmlPolygon): Geometry;
    buildMultiPoint(gml: GmlMultiPoint): Geometry;
    buildMultiLineString(gml: GmlMultiLineString): Geometry;
    buildMultiPolygon(gml: GmlMultiPolygon): Geometry;
    buildLinearRing(gml: GmlLinearRing): Geometry;
    buildEnvelope(gml: GmlEnvelope): Feature;
    buildBox(gml: GmlBox): Feature;
    buildCurve(gml: GmlCurve): Geometry;
    buildSurface(gml: GmlSurface): Geometry;
    buildRectifiedGridCoverage(gml: GmlRectifiedGridCoverage): Feature;
    buildGridCoverage(gml: GmlGridCoverage): Feature;
    buildReferenceableGridCoverage(gml: GmlReferenceableGridCoverage): Feature;
    buildMultiPointCoverage(gml: GmlMultiPointCoverage): Feature;
    buildFeature(gml: GmlFeature): Feature;
    buildFeatureCollection(gml: GmlFeatureCollection): FeatureCollection;
    /**
     * Convert GeoJSON FeatureCollection to FlatGeobuf binary format
     *
     * @param featureCollection GeoJSON FeatureCollection
     * @returns Uint8Array containing the FlatGeobuf binary data
     */
    toFlatGeobuf(featureCollection: FeatureCollection): Uint8Array;
}
/**
 * Helper function to export GeoJSON FeatureCollection as FlatGeobuf
 *
 * @param featureCollection GeoJSON FeatureCollection
 * @returns Uint8Array containing the FlatGeobuf binary data
 */
export declare function toFlatGeobuf(featureCollection: FeatureCollection): Uint8Array;
