import { BaseLinearWeightsTransformation } from './BaseLinearWeightsTransformation.js'; import type { Point, Size } from '@allmaps/types'; import type { HelmertMeasures } from '../shared/types.js'; /** * 2D Helmert transformation (= similarity transformation) * * This transformation is a composition of a translation, rotation and scaling. There is no shearing. * * For this transformations, the system of equations is solved for x and y jointly. */ export declare class Helmert extends BaseLinearWeightsTransformation { coefsArrayMatrices: [number[][], number[][]]; coefsArrayMatricesSize: [Size, Size]; weightsArray?: number[]; weightsArrays?: [number[], number[]]; constructor(sourcePoints: Point[], destinationPoints: Point[]); getDestinationPointsArrays(): [number[], number[]]; getCoefsArrayMatrices(): [number[][], number[][]]; /** * Get two 1x4 coefsArrays, populating the 2Nx4 coefsArrayMatrices * 1 0 x0 -y0 * 1 0 x1 -y1 * ... * 0 1 y0 x0 * 0 1 y1 x1 * ... * * @param sourcePoint */ getSourcePointCoefsArrays(sourcePoint: Point): [number[], number[]]; solve(): void; getMeasures(): HelmertMeasures; evaluateFunction(newSourcePoint: Point): Point; evaluatePartialDerivativeX(_newSourcePoint: Point): Point; evaluatePartialDerivativeY(_newSourcePoint: Point): Point; }