/**
 * CSV Builder
 *
 * Converts GML to CSV format with WKT geometries
 * Suitable for import into spreadsheets, databases, and GIS tools
 */
import { Builder, GmlPoint, GmlLineString, GmlPolygon, GmlLinearRing, GmlEnvelope, GmlBox, GmlCurve, GmlSurface, GmlMultiPoint, GmlMultiLineString, GmlMultiPolygon, GmlFeature, GmlFeatureCollection, GmlRectifiedGridCoverage, GmlGridCoverage, GmlReferenceableGridCoverage, GmlMultiPointCoverage } from '../types.js';
export interface CsvRow {
    id?: string;
    geometry: string;
    [key: string]: any;
}
export interface CsvOutput {
    type: 'CSV';
    headers: string[];
    rows: CsvRow[];
}
export declare class CsvBuilder implements Builder<string, CsvOutput, string> {
    /**
     * Convert Point to WKT
     */
    buildPoint(gml: GmlPoint): string;
    /**
     * Convert LineString to WKT
     */
    buildLineString(gml: GmlLineString): string;
    /**
     * Convert Polygon to WKT
     */
    buildPolygon(gml: GmlPolygon): string;
    /**
     * Convert MultiPoint to WKT
     */
    buildMultiPoint(gml: GmlMultiPoint): string;
    /**
     * Convert MultiLineString to WKT
     */
    buildMultiLineString(gml: GmlMultiLineString): string;
    /**
     * Convert MultiPolygon to WKT
     */
    buildMultiPolygon(gml: GmlMultiPolygon): string;
    /**
     * Convert LinearRing to WKT (as LineString)
     */
    buildLinearRing(gml: GmlLinearRing): string;
    /**
     * Convert Envelope to CSV row with WKT Polygon
     */
    buildEnvelope(gml: GmlEnvelope): CsvOutput;
    /**
     * Convert Box to CSV row
     */
    buildBox(gml: GmlBox): CsvOutput;
    /**
     * Convert Curve to WKT LineString
     */
    buildCurve(gml: GmlCurve): string;
    /**
     * Convert Surface to WKT MultiPolygon
     */
    buildSurface(gml: GmlSurface): string;
    /**
     * Convert RectifiedGridCoverage to CSV row
     */
    buildRectifiedGridCoverage(gml: GmlRectifiedGridCoverage): CsvOutput;
    /**
     * Convert GridCoverage to CSV row
     */
    buildGridCoverage(gml: GmlGridCoverage): CsvOutput;
    /**
     * Convert ReferenceableGridCoverage to CSV row
     */
    buildReferenceableGridCoverage(gml: GmlReferenceableGridCoverage): CsvOutput;
    /**
     * Convert MultiPointCoverage to CSV row
     */
    buildMultiPointCoverage(gml: GmlMultiPointCoverage): CsvOutput;
    /**
     * Convert Feature to CSV row
     */
    buildFeature(gml: GmlFeature): CsvOutput;
    /**
     * Convert FeatureCollection to CSV string
     */
    buildFeatureCollection(gml: GmlFeatureCollection): string;
    /**
     * Helper: Convert geometry to WKT
     */
    private buildGeometry;
    /**
     * Helper: Convert headers and rows to CSV string
     */
    private toCsvString;
}
