interface Array { findLast(predicate: (value: T, index: number, obj: T[]) => boolean, thisArg?: any): T | undefined } interface PromiseConstructor { any(promises: Array>): Promise } interface AggregateError extends Error { errors: any[] } declare const AggregateError: { prototype: AggregateError new (errors: any[], message?: string): AggregateError }