import BigNumber from 'bignumber.js'; import { Builtin, IsUnknown } from 'ts-essentials/dist/types'; export declare type DeepReadonly = T extends Builtin ? T : T extends Map ? ReadonlyMap, DeepReadonly> : T extends ReadonlyMap ? ReadonlyMap, DeepReadonly> : T extends WeakMap ? WeakMap, DeepReadonly> : T extends Set ? ReadonlySet> : T extends ReadonlySet ? ReadonlySet> : T extends WeakSet ? WeakSet> : T extends Promise ? Promise> : T extends BigNumber ? BigNumber : T extends {} ? { readonly [K in keyof T]: DeepReadonly; } : IsUnknown extends true ? unknown : Readonly;