/**
 * GeoPackage Builder
 *
 * Generates OGC GeoPackage (.gpkg) files from GML data.
 * Uses @ngageoint/geopackage to create GeoPackage files from GeoJSON.
 *
 * GeoPackage is an open, standards-based, platform-independent, portable, self-describing,
 * compact format for transferring geospatial information.
 *
 * @see https://www.geopackage.org/
 */
import type { Builder, GmlPoint, GmlLineString, GmlPolygon, GmlLinearRing, GmlEnvelope, GmlBox, GmlCurve, GmlSurface, GmlMultiPoint, GmlMultiLineString, GmlMultiPolygon, GmlRectifiedGridCoverage, GmlGridCoverage, GmlReferenceableGridCoverage, GmlMultiPointCoverage, GmlFeature, GmlFeatureCollection, Geometry, Feature, FeatureCollection } from '../types.js';
export interface GeoPackageOptions {
    /**
     * Table name for the features
     * @default 'features'
     */
    tableName?: string;
    /**
     * SRID (Spatial Reference ID)
     * @default 4326 (WGS84)
     */
    srid?: number;
}
/**
 * Builder that generates GeoJSON and provides methods to export as GeoPackage
 */
export declare class GeoPackageBuilder 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 GeoPackage binary data
     *
     * @param featureCollection GeoJSON FeatureCollection
     * @param options GeoPackage export options
     * @returns Promise resolving to Buffer containing the GeoPackage file
     */
    toGeoPackage(featureCollection: FeatureCollection, options?: GeoPackageOptions): Promise<Buffer>;
}
/**
 * Helper function to export GeoJSON FeatureCollection as GeoPackage
 *
 * @param featureCollection GeoJSON FeatureCollection
 * @param options GeoPackage export options
 * @returns Promise resolving to Buffer containing the GeoPackage file
 */
export declare function toGeoPackage(featureCollection: FeatureCollection, options?: GeoPackageOptions): Promise<Buffer>;
