import { BaseTransformation } from './BaseTransformation.js';
import type { Point } from '@allmaps/types';
/**
 * 2D projective (= perspective) transformation
 *
 * For this transformations, the system of equations is solved for x and y jointly.
 *
 * See for more information:
 * Dubrofsky, Elan. "Homography estimation." Diplomová práce. Vancouver: Univerzita Britské Kolumbie 5 (2009).
 * https://citeseerx.ist.psu.edu/doc/10.1.1.186.4411
 * https://www.cs.ubc.ca/sites/default/files/2022-12/Dubrofsky_Elan.pdf
 */
export declare class Projective extends BaseTransformation {
    coefsArrayMatrices: [number[][], number[][]];
    weightsArrays?: number[][];
    constructor(sourcePoints: Point[], destinationPoints: Point[]);
    solve(): void;
    evaluateFunction(newSourcePoint: Point): Point;
    evaluatePartialDerivativeX(newSourcePoint: Point): Point;
    evaluatePartialDerivativeY(newSourcePoint: Point): Point;
}
