import { HyperValue } from '../core/core'; import { AutoScope } from './auto'; import { CastScope } from './cast'; import { Mixin } from '../utils/mixin'; export interface IteratorFn { (value: T, index: number, array: T[]): R; } export interface Reducer { (acc: R, value: T, index: number, array: T[]): R; } export declare const Base: Mixin; export declare class ArrayScope extends Base { length(hv: HyperValue): HyperValue; map(hv: HyperValue, mapFn: IteratorFn): HyperValue; every(hv: HyperValue, mapFn: IteratorFn): HyperValue; some(hv: HyperValue, mapFn: IteratorFn): HyperValue; filter(hv: HyperValue, mapFn: IteratorFn): HyperValue; reduce(hv: HyperValue, reducer: Reducer): HyperValue; reduce(hv: HyperValue, reducer: Reducer, initial: R): HyperValue; find(hv: HyperValue, fn: IteratorFn): HyperValue; findIndex(hv: HyperValue, fn: IteratorFn): HyperValue; concat(hv1: HyperValue): HyperValue; concat(hv1: HyperValue, hv2: HyperValue): HyperValue<(T1 | T2)[]>; concat(hv1: HyperValue, hv2: HyperValue, hv3: HyperValue): HyperValue<(T1 | T2 | T3)[]>; slice(hv: HyperValue, start?: number | HyperValue, end?: number | HyperValue): HyperValue; insert(hv: HyperValue, index: number, elems: T | T[]): void; remove(hv: HyperValue, index: number, length: number): void; sort(hv: HyperValue, sortFn?: (a: T, b: T) => number): HyperValue; }