/** @packageDocumentation
 * @module Geometry
 */
/** An affine transformation with an additional Z Offset.
 *  The equations are:
 *  given a = scale * cos(rotation) and b = scale * sin(rotation)
 *  X = a * x - b * y + translationX
 *  Y = b * x + a * y + translationY
 *  Z = z + translationZ
 *  @public
 *  @extensions
 */
export interface Helmert2DWithZOffsetProps {
    /** The X post translation */
    translationX: number;
    /** The Y post-translation */
    translationY: number;
    /** The Z post-translation or Z offset*/
    translationZ: number;
    /** The rotation in the trigonometric (CCW) direction in degrees. */
    rotDeg: number;
    /** The scale. This scale applies to both X and Y axises. Does not apply to Z. */
    scale: number;
}
/** An affine transformation with an additional Z Offset.
 *  The equations are:
 *  given a = scale * cos(rotation) and b = scale * sin(rotation)
 *  X = a * x - b * y + translationX
 *  Y = b * x + a * y + translationY
 *  Z = z + translationZ
 *
 *  Note that the class only implements the definition and not the operation.
 *  @public
 */
export declare class Helmert2DWithZOffset implements Helmert2DWithZOffsetProps {
    /** The X post translation */
    translationX: number;
    /** The Y post-translation */
    translationY: number;
    /** The Z post-translation or Z offset*/
    translationZ: number;
    /** The rotation in the trigonometric (CCW) direction in degrees. */
    rotDeg: number;
    /** The scale. This scale applies to both X and Y axises. Does not apply to Z. */
    scale: number;
    constructor(data?: Helmert2DWithZOffsetProps);
    /** Creates an Helmert Transform from JSON representation.
     * @public */
    static fromJSON(data: Helmert2DWithZOffsetProps): Helmert2DWithZOffset;
    /** Creates a JSON from the Helmert Transform definition
     * @public */
    toJSON(): Helmert2DWithZOffsetProps;
    /** Compares two Helmert2DWithZOffset objects applying a minuscule tolerance.
     *  @public */
    equals(other: Helmert2DWithZOffset): boolean;
}
/** Additional Transform definition
 * @public
 * @extensions
 */
export interface AdditionalTransformProps {
    /** The properties of a 2D Helmert transform with Z offset if one is defined. */
    helmert2DWithZOffset?: Helmert2DWithZOffsetProps;
}
/** Additional Transform implementation.
 *  An additional transform is a transformation that can apply to either the horizontal or vertical coordinates of a
 *  geographic CRS. The transformation is applied after the latitude/longitude have been projected thus the process
 *  is applied to the result Cartesian coordinates of the projection process.
 *  @public
*/
export declare class AdditionalTransform implements AdditionalTransformProps {
    /** The properties of a 2D Helmert transform with Z offset if one is defined. */
    readonly helmert2DWithZOffset?: Helmert2DWithZOffset;
    constructor(data?: AdditionalTransformProps);
    /** Creates an Additional Transform from JSON representation.
     * @public */
    static fromJSON(data: AdditionalTransformProps): AdditionalTransform;
    /** Creates a JSON from the Additional Transform definition
     * @public */
    toJSON(): AdditionalTransformProps;
    /** Compares two additional transforms applying a minuscule tolerance to comparing numbers.
     *  @public */
    equals(other: AdditionalTransform): boolean;
}
//# sourceMappingURL=AdditionalTransform.d.ts.map