interface IModuleLike { prefix: string; destroy: () => void; } declare type TPrimitive = | string | number | boolean | bigint | symbol | undefined | null; declare type TBuiltin = | TPrimitive | Function | Date | Error | RegExp | Element | Window | IModuleLike; declare type TTRequiredProps = T extends TBuiltin ? NonNullable : T extends Map ? Map, TTRequiredProps> : T extends ReadonlyMap ? ReadonlyMap, TTRequiredProps> : T extends WeakMap ? WeakMap, TTRequiredProps> : T extends Set ? Set> : T extends ReadonlySet ? ReadonlySet> : T extends WeakSet ? WeakSet> : T extends Promise ? Promise> : T extends {} ? { [K in keyof T]-?: TTRequiredProps; } : NonNullable; export declare type TRequiredProps = TTRequiredProps;