declare type Nullable = T | null; declare interface DynamicObject { [key: string]: T; } declare type ReadOnly = { readonly [P in keyof T]: T[P]; }; declare type PartialType = { [P in keyof T]?: T[P]; };