/** @module matrix.ts */
export declare function flipRectangularMatrixFromWidth(rowLenght: number, matrix: A[][]): A[][];
export declare function flipRectangularMatrixFromWidth(rowLenght: number): (matrix: A[][]) => A[][];
/**
* Takes a rectangular matrix and returns calculated flipped matrix
* @example
* flipRectangularMatrixUsingFirstRowLength( [
* [1,2,3,4],
* [5,6,7,8],
* [9,10,11,12]
* ] )
* // [ [ 1, 5, 9 ], [ 2, 6, 10 ], [ 3, 7, 11 ], [ 4, 8, 12 ] ]
*
*/
export declare function flipRectangularMatrix(matrix: A[][]): A[][];
export declare function rotateRectangularMatrixFromWidth(rowLenght: number, matrix: A[][]): A[][];
export declare function rotateRectangularMatrixFromWidth(rowLenght: number): (matrix: A[][]) => A[][];
/**
* Takes a rectangular matrix and returns calculated right rotated matrix
* @example
* rotateRectangularMatrixUsingFirstRowLength( [
* [1,2,3,4],
* [5,6,7,8],
* [9,10,11,12]
* ] )
* // [ [ 9, 5, 1 ], [ 10, 6, 2 ], [ 11, 7, 3 ], [ 12, 8, 4 ] ]
*
*/
export declare function rotateRectangularMatrix(matrix: A[][]): A[][];
export declare function rotateLeftRectangularMatrixFromWidth(rowLenght: number, matrix: A[][]): A[][];
export declare function rotateLeftRectangularMatrixFromWidth(rowLenght: number): (matrix: A[][]) => A[][];
/**
* Takes a rectangular matrix and returns calculated left rotated matrix
* @example
* rotateLeftRectangularMatrixUsingFirstRowLength( 4, [
* [1,2,3,4],
* [5,6,7,8],
* [9,10,11,12]
* ] )
* [ [ 4, 8, 12 ], [ 3, 7, 11 ], [ 2, 6, 10 ], [ 1, 5, 9 ] ]
*/
export declare function rotateLeftRectangularMatrix(matrix: A[][]): A[][];
/**
* Takes a square matrix and returns calculated flipped matrix
* @example
* flipSquareMatrix( [
* [1,2,3],
* [4,5,6],
* [7,8,9]
* ] )
* // [ [ 1, 4, 7 ], [ 2, 5, 8 ], [ 3, 6, 9 ] ]
*/
export declare function flipSquareMatrix(matrix: A[][]): A[][];
/**
* Takes a square matrix and returns calculated right rotated matrix
* @example
* rotateSquareMatrix( [
* [1,2,3],
* [4,5,6],
* [7,8,9]
* ] )
* // [ [ 7, 4, 1 ], [ 8, 5, 2 ], [ 9, 6, 3 ] ]
*/
export declare function rotateSquareMatrix(matrix: A[][]): A[][];
/**
* Takes a square matrix and returns calculated left rotated matrix
* @example
* rotateLeftSquareMatrix( [
* [1,2,3],
* [4,5,6],
* [7,8,9]
* ] )
* // [ [ 3, 6, 9 ] , [ 2, 5, 8 ], [ 1, 4, 7 ], ]
*
*/
export declare function rotateLeftSquareMatrix(matrix: A[][]): A[][];