export declare function findElement(input: T[], attribute: string, value: K): T | string; export declare function sortBy(input: T[], ...fields: any[]): (number | T | (() => ArrayIterator) | { [x: number]: boolean | undefined; length?: boolean | undefined; toString?: boolean | undefined; toLocaleString?: boolean | undefined; pop?: boolean | undefined; push?: boolean | undefined; concat?: boolean | undefined; join?: boolean | undefined; reverse?: boolean | undefined; shift?: boolean | undefined; slice?: boolean | undefined; sort?: boolean | undefined; splice?: boolean | undefined; unshift?: boolean | undefined; indexOf?: boolean | undefined; lastIndexOf?: boolean | undefined; every?: boolean | undefined; some?: boolean | undefined; forEach?: boolean | undefined; map?: boolean | undefined; filter?: boolean | undefined; reduce?: boolean | undefined; reduceRight?: boolean | undefined; find?: boolean | undefined; findIndex?: boolean | undefined; fill?: boolean | undefined; copyWithin?: boolean | undefined; entries?: boolean | undefined; keys?: boolean | undefined; values?: boolean | undefined; includes?: boolean | undefined; flatMap?: boolean | undefined; flat?: boolean | undefined; [Symbol.iterator]?: boolean | undefined; readonly [Symbol.unscopables]?: boolean | undefined; } | (() => string) | { (...items: ConcatArray[]): T[]; (...items: (T | ConcatArray)[]): T[]; } | ((searchElement: T, fromIndex?: number) => number) | ((searchElement: T, fromIndex?: number) => number) | ((start?: number, end?: number) => T[]) | ((searchElement: T, fromIndex?: number) => boolean) | { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } | ((separator?: string) => string) | { (predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; } | ((predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean) | ((callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void) | ((callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]) | { (predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; } | { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } | { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } | { (predicate: (value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T | undefined; } | ((predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any) => number) | (() => ArrayIterator<[number, T]>) | (() => ArrayIterator) | (() => ArrayIterator) | ((callback: (this: This, value: T, index: number, array: T[]) => U | readonly U[], thisArg?: This | undefined) => U[]) | ((this: A, depth?: D | undefined) => FlatArray[]) | (() => T | undefined) | ((...items: T[]) => number) | (() => T[]) | (() => T | undefined) | ((compareFn?: ((a: T, b: T) => number) | undefined) => T[]) | { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } | ((...items: T[]) => number) | ((value: T, start?: number, end?: number) => T[]) | ((target: number, start: number, end?: number) => T[]))[]; export declare function where(input: T[], query: any): T[];