import { BasePolynomialTransformation } from './BasePolynomialTransformation.js';
import type { HomogeneousTransform, Point } from '@allmaps/types';
import type { Polynomial1Measures } from '../shared/types.js';
/**
 * 2D First-order Polynomial transformation
 *
 * This transformation is a composition of a translation, rotation, scaling and shearing.
 */
export declare class Polynomial1 extends BasePolynomialTransformation {
    constructor(sourcePoints: Point[], destinationPoints: Point[]);
    getSourcePointCoefsArray(sourcePoint: Point): number[];
    /**
     * Get 1x3 coefsArray, populating the Nx3 coefsArrayMatrix
     * 1 x0 y0
     * 1 x1 y1
     * 1 x2 y2
     * ...
     *
     * @param sourcePoint
     */
    static getPolynomial1SourcePointCoefsArray(sourcePoint: Point): number[];
    getHomogeneousTransform(): HomogeneousTransform | undefined;
    setWeightsArraysFromHomogeneousTransform(homogeneousTransform: HomogeneousTransform): void;
    getMeasures(): Polynomial1Measures;
    evaluateFunction(newSourcePoint: Point): Point;
    evaluatePartialDerivativeX(_newSourcePoint: Point): Point;
    evaluatePartialDerivativeY(_newSourcePoint: Point): Point;
}
