import { ProjectionBase } from './index.js';
import type { En } from '../common.js';
import type { VectorPoint } from '../../geometry/index.js';
import type { ProjectionParams, ProjectionTransform } from './index.js';
/**
 * # 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
 * ```ini
 * +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\lambda(m+cos\theta) / ( m + 1)$$
 * $$y = C\theta$$
 *
 * Inverse projection:
 * $$\lambda = x \cdot \frac{m + 1}{C \cdot (m + \cos(y / C))}$$
 * $$\theta = 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/gis-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