/** * Create an identity transform. * @return {!Transform} Identity transform. */ export function create(): number[]; /** * Resets the given transform to an identity transform. * @param {!Transform} transform Transform. * @return {!Transform} Transform. */ export function reset(transform: number[]): number[]; /** * Multiply the underlying matrices of two transforms and return the result in * the first transform. * @param {!Transform} transform1 Transform parameters of matrix 1. * @param {!Transform} transform2 Transform parameters of matrix 2. * @return {!Transform} transform1 multiplied with transform2. */ export function multiply(transform1: number[], transform2: number[]): number[]; /** * Set the transform components a-f on a given transform. * @param {!Transform} transform Transform. * @param {number} a The a component of the transform. * @param {number} b The b component of the transform. * @param {number} c The c component of the transform. * @param {number} d The d component of the transform. * @param {number} e The e component of the transform. * @param {number} f The f component of the transform. * @return {!Transform} Matrix with transform applied. */ export function set(transform: number[], a: number, b: number, c: number, d: number, e: number, f: number): number[]; /** * Set transform on one matrix from another matrix. * @param {!Transform} transform1 Matrix to set transform to. * @param {!Transform} transform2 Matrix to set transform from. * @return {!Transform} transform1 with transform from transform2 applied. */ export function setFromArray(transform1: number[], transform2: number[]): number[]; /** * Transforms the given coordinate with the given transform returning the * resulting, transformed coordinate. The coordinate will be modified in-place. * * @param {Transform} transform The transformation. * @param {import("./coordinate.js").Coordinate|import("./pixel.js").Pixel} coordinate The coordinate to transform. * @return {import("./coordinate.js").Coordinate|import("./pixel.js").Pixel} return coordinate so that operations can be * chained together. */ export function apply(transform: number[], coordinate: import("./coordinate.js").Coordinate | import("./pixel.js").Pixel): import("./coordinate.js").Coordinate | import("./pixel.js").Pixel; /** * Applies rotation to the given transform. * @param {!Transform} transform Transform. * @param {number} angle Angle in radians. * @return {!Transform} The rotated transform. */ export function rotate(transform: number[], angle: number): number[]; /** * Applies scale to a given transform. * @param {!Transform} transform Transform. * @param {number} x Scale factor x. * @param {number} y Scale factor y. * @return {!Transform} The scaled transform. */ export function scale(transform: number[], x: number, y: number): number[]; /** * Creates a scale transform. * @param {!Transform} target Transform to overwrite. * @param {number} x Scale factor x. * @param {number} y Scale factor y. * @return {!Transform} The scale transform. */ export function makeScale(target: number[], x: number, y: number): number[]; /** * Applies translation to the given transform. * @param {!Transform} transform Transform. * @param {number} dx Translation x. * @param {number} dy Translation y. * @return {!Transform} The translated transform. */ export function translate(transform: number[], dx: number, dy: number): number[]; /** * Creates a composite transform given an initial translation, scale, rotation, and * final translation (in that order only, not commutative). * @param {!Transform} transform The transform (will be modified in place). * @param {number} dx1 Initial translation x. * @param {number} dy1 Initial translation y. * @param {number} sx Scale factor x. * @param {number} sy Scale factor y. * @param {number} angle Rotation (in counter-clockwise radians). * @param {number} dx2 Final translation x. * @param {number} dy2 Final translation y. * @return {!Transform} The composite transform. */ export function compose(transform: number[], dx1: number, dy1: number, sx: number, sy: number, angle: number, dx2: number, dy2: number): number[]; /** * Creates a composite transform given an initial translation, scale, rotation, and * final translation (in that order only, not commutative). The resulting transform * string can be applied as `transform` property of an HTMLElement's style. * @param {number} dx1 Initial translation x. * @param {number} dy1 Initial translation y. * @param {number} sx Scale factor x. * @param {number} sy Scale factor y. * @param {number} angle Rotation (in counter-clockwise radians). * @param {number} dx2 Final translation x. * @param {number} dy2 Final translation y. * @return {string} The composite css transform. * @api */ export function composeCssTransform(dx1: number, dy1: number, sx: number, sy: number, angle: number, dx2: number, dy2: number): string; /** * Invert the given transform. * @param {!Transform} source The source transform to invert. * @return {!Transform} The inverted (source) transform. */ export function invert(source: number[]): number[]; /** * Invert the given transform. * @param {!Transform} target Transform to be set as the inverse of * the source transform. * @param {!Transform} source The source transform to invert. * @return {!Transform} The inverted (target) transform. */ export function makeInverse(target: number[], source: number[]): number[]; /** * Returns the determinant of the given matrix. * @param {!Transform} mat Matrix. * @return {number} Determinant. */ export function determinant(mat: number[]): number; /** * A rounded string version of the transform. This can be used * for CSS transforms. * @param {!Transform} mat Matrix. * @return {string} The transform as a string. */ export function toString(mat: number[]): string; /** * An array representing an affine 2d transformation for use with * {@link module :ol/transform} functions. The array has 6 elements. */ export type Transform = Array; //# sourceMappingURL=transform.d.ts.map