import type { AnyFunction, Constructor } from './mapped-types'; export declare namespace Arrays { function findByType(arr: any[], constructor: Constructor): T | undefined; /** 自动推断item的类型的{@link Array.includes} */ function includesTyped(arr: T[], item: E): item is T; /** 设置 指定位置的值 */ function at(arr: T[], index: number, value: T): void; /** 获取 指定位置的值 */ function at(arr: T[], index: number): T | undefined; /** * 取子数组, 对参数的范围几乎没有任何限制 * * @param from 开始索引, 可以是负数 * @param length 取出多少个元素, 可以大于{@link arr}的长度 * @param step 步长, 可以是负数 */ function subarray(arr: T[], from: number, length: number, step?: number): T[]; /** * 判断多维数组是否有第一个元素 * * 为了快速递归判断, 只会检查第一个元素, null/undefined也会被视作无效元素... */ function hasFirstElement(arr: undefined | T | T[] | T[][] | T[][][] | T[][][][]): boolean; } export declare namespace MVCArrays { function indexOf(arr: google.maps.MVCArray, item: T): number; function remove(arr: google.maps.MVCArray, item: T): T | undefined; /** * 监听数组内容变化 * @see https://developers.google.com/maps/documentation/javascript/shapes#editable_events * */ function listenChanged(path: google.maps.MVCArray, handler: AnyFunction): google.maps.MapsEventListener[]; } //# sourceMappingURL=arrays.d.ts.map