export type NoArgsConstructor = new () => T; export type ArgsConstructor = new (...args: any[]) => T; export type Constructor = (NoArgsConstructor | ArgsConstructor); export declare function setProperty(o: any, name: string, value: any): void; export declare class SortedList extends Array { private compareFn; constructor(compareFn: (a: T, b: T) => number, items?: T[]); private insert; push(...items: T[]): number; unshift(...items: T[]): number; splice(start: number, deleteCount: number, ...items: T[]): T[]; concat(...items: (T | ConcatArray)[]): SortedList; sort(compareFn?: (a: T, b: T) => number): this; copyWithin(target: number, start: number, end?: number): this; reverse(): this; toArray(): T[]; }