export interface TypeOf extends Function { new (...args: any[]): T; } export declare type AnyType = TypeOf; export interface NoArgsConstructable extends Function { new (...args: any[]): any; } export interface StringIndexable { [key: string]: any; } export interface ToStringable { toString(): string; } export interface DtoLike { [key: string]: string | string[] | number | number[] | DtoLike | DtoLike[]; } /** * Returns all possible combinations of the given items (including those with length < n). * * Order of items within the returned combinations is the same as of the given input array. */ export declare function combinations(items: T[]): T[][]; /** * Generates a globally unique identifier. * * https://stackoverflow.com/a/2117523 */ export declare function guid(): string;