import { ProjectionBase } from '.';
import type { En } from '../common';
import type { VectorPoint } from '../../geometry';
import type { ProjectionParams, ProjectionTransform } from '.';
/**
 * # Sinusoidal (Sanson-Flamsteed)
 *
 * **Classification**: Pseudocylindrical
 *
 * **Available forms**: Forward and inverse, spherical and ellipsoidal
 *
 * **Defined area**: Global
 *
 * **Alias**: sinu
 *
 * **Domain**: 2D
 *
 * **Input type**: Geodetic coordinates
 *
 * **Output type**: Projected coordinates
 *
 * ## Projection String
 * ```
 * +proj=sinu
 * ```
 *
 * ## Parameters
 *
 * All parameters are optional.
 *
 * - `+lon_0=<value>`: Central meridian.
 * - `+R=<value>`: Radius of the sphere or semi-major axis of the ellipsoid.
 * - `+x_0=<value>`: False easting.
 * - `+y_0=<value>`: False northing.
 *
 * ## Mathematical Definition
 *
 * MacBryde and Thomas developed generalized formulas for several of the
 * pseudocylindricals with sinusoidal meridians. The formulas describing the Sinusoidal
 * projection are:
 *
 * Forward projection:
 * ```
 * x = C * λ * (m + cos(θ)) / (m + 1)
 * y = C * θ
 * ```
 *
 * Inverse projection:
 * ```
 * λ = x * (m + 1) / (C * (m + cos(y / C)))
 * θ = y / C
 * ```
 *
 * Where:
 * ```
 * C = sqrt((m + 1) / n)
 * ```
 *
 * ## Further Reading
 * - [Wikipedia](https://en.wikipedia.org/wiki/Sinusoidal_projection)
 *
 * ![Sinusoidal (Sanson-Flamsteed)](https://github.com/Open-S2/s2-tools/blob/master/assets/proj4/projections/images/sinu.png?raw=true)
 */
export declare class Sinusoidal extends ProjectionBase implements ProjectionTransform {
    name: string;
    static names: string[];
    en: En;
    n: number;
    m: number;
    Cy: number;
    Cx: number;
    /**
     * Preps an Sinusoidal projection
     * @param params - projection specific parameters
     */
    constructor(params?: ProjectionParams);
    /**
     * Sinusoidal forward equations--mapping lon-lat to x-y
     * @param p - lon-lat WGS84 point
     */
    forward(p: VectorPoint): void;
    /**
     * Sinusoidal inverse equations--mapping x-y to lon-lat
     * @param p - Sinusoidal point
     */
    inverse(p: VectorPoint): void;
}
//# sourceMappingURL=sinu.d.ts.map