export type Class = new (...args: Array) => TConstructor; export type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer T) => void ? T : never; export type Flatten = T extends ReadonlyArray ? (Item extends Class ? InstanceType : Item) : T; export type ConfigMap = Map>; export type ConfigServiceExceptionOptions = { stack?: string; };