import { ProjectionBase } from '.';
import type { VectorPoint } from '../../geometry';
import type { ProjectionParams, ProjectionTransform } from '.';
/**
 * # Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)
 *
 * **Classification**: Conformal
 *
 * **Available forms**: Forward and inverse, spherical projection
 *
 * **Defined area**: Global
 *
 * **Alias**: gstmerc
 *
 * **Domain**: 2D
 *
 * **Input type**: Geodetic coordinates
 *
 * **Output type**: Projected coordinates
 *
 * ## Projection String
 * ```
 * +proj=gstmerc
 * ```
 *
 * ## Optional Parameters
 * - `+k_0=<value>`: Scale factor at the central meridian.
 * - `+lon_0=<value>`: Longitude of the central meridian.
 * - `+lat_0=<value>`: Latitude of origin.
 * - `+ellps=<value>`: Ellipsoid name (e.g., GRS80, WGS84).
 * - `+R=<value>`: Radius of the sphere (used in spherical projections).
 * - `+x_0=<value>`: False easting.
 * - `+y_0=<value>`: False northing.
 *
 * ## Usage Example
 * ```
 * echo 12 55 | proj +proj=gstmerc +ellps=WGS84
 * echo 12 55 | proj +proj=gstmerc +k_0=1 +lon_0=0 +x_0=500000 +y_0=0
 * ```
 *
 * ![Gauss-Schreiber Transverse Mercator](https://github.com/Open-S2/s2-tools/blob/master/assets/proj4/projections/images/gstmerc.png?raw=true)
 */
export declare class GaussSchreiberTransverseMercator extends ProjectionBase implements ProjectionTransform {
    name: string;
    static names: string[];
    longc: number;
    cp: number;
    n1: number;
    n2: number;
    xs: number;
    ys: number;
    /**
     * TODO: This whole file is arguably wrong. https://github.com/OSGeo/PROJ/blob/e2174f8292a39cdd2f92ce8122601e9b264555c2/src/projections/gstmerc.cpp#L15
     * Preps an GaussSchreiberTransverseMercator projection
     * @param params - projection specific parameters
     */
    constructor(params?: ProjectionParams);
    /**
     * GaussSchreiberTransverseMercator forward equations--mapping lon-lat to x-y
     * @param p - lon-lat WGS84 point
     */
    forward(p: VectorPoint): void;
    /**
     * GaussSchreiberTransverseMercator inverse equations--mapping x-y to lon-lat
     * @param p - GaussSchreiberTransverseMercator point
     */
    inverse(p: VectorPoint): void;
}
//# sourceMappingURL=gstmerc.d.ts.map