import '../../globals.js';
type MultidimensionalArray<T> = Array<MultidimensionalArray<T> | T>;
/**
 * @param dimension - The dimension of the array (how many levels of nested arrays there are). For instance,
 *   [ 'a' ] is a 1-dimensional array, [ [ 'b' ] ] is a 2-dimensional array, etc.
 * @param array - A multidimensional array of the specified dimension
 * @param map - function( element: {*}, indices...: {Array.<number>} ): {*}. Called for each individual
 *   element. The indices are provided as the 2nd, 3rd, etc. parameters to the function (continues depending on the
 *   dimension). This is a generalization of the normal `map` function, which only provides the first index. Thus:
 *   array[ indices[ 0 ] ]...[ indices[ dimension - 1 ] ] === element
 * @returns - A multidimensional array of the same dimension as our input, but with the
 *   values replaced with the return value of the map() calls for each element.
 */
declare function dimensionMap<InputType, ReturnType>(dimension: number, array: MultidimensionalArray<InputType>, map: (element: InputType, ...indices: number[]) => ReturnType): MultidimensionalArray<ReturnType>;
export default dimensionMap;
//# sourceMappingURL=dimensionMap.d.ts.map