type NestedReadonlyNumberRecordOrArray = Readonly>; declare function FlattenIntoArray( target: Record, source: Readonly>, sourceLen: number, start: number, depth: number, ): number; declare function FlattenIntoArray>( target: Record, source: AS, sourceLen: number, start: number, depth: number, mapperFunction: ( this: THIS_ARG, element: S | readonly unknown[], sourceIndex: number, source: AS, ) => T | ReadonlyArray, thisArg: THIS_ARG, ): number; declare function FlattenIntoArray, U>( target: Record, source: AS, sourceLen: number, start: number, depth: number, mapperFunction: (this: THIS_ARG, element: S | U, sourceIndex: number, source: AS) => T | U, thisArg: THIS_ARG, ): number; export = FlattenIntoArray;