import { BidirectionalIndex } from "./typing"; /** * Removes an element by index from an array. * @param array array to remove the element from. * @param index index of the array element to be removed. * @returns `true` if the index is within the indexable range of `array`, and thus the item has been removed; * `false` otherwise. * @template T type of the array element. The type parameter is intentionally declared as such to avoid * handling tuples. While it is possible to remove item from tuple, it will impact typing * soundness. */ export declare function removeAt(array: T[], index: BidirectionalIndex): boolean; /** * Removes an element by index from an array. * @param array array to remove the element from. * @param fromIndex start index of the array elements to be removed. * @param count count of the array elements to be removed. * @template T type of the array element. The type parameter is intentionally declared as such to avoid * handling tuples. While it is possible to remove item from tuple, it will impact typing * soundness. */ export declare function removeRange(array: T[], fromIndex: BidirectionalIndex, count: number): void; /** * Removes the first matching element from an array. * @param array array to remove the element from. * @param item value of the array element to be removed. * @returns `true` if the item is found in `array`, and thus the item has been removed; * `false` otherwise. * @template T type of the array element. The type parameter is intentionally declared as such to avoid * handling tuples. While it is possible to remove item from tuple, it will impact typing * soundness. */ export declare function remove(array: T[], item: TItem): TItem extends T ? boolean : false; export declare function remove(array: T[], item: T): boolean; //# sourceMappingURL=remove.d.ts.map