export type Writable = TYPE extends ((...args: unknown[]) => unknown) | Date | RegExp ? TYPE : TYPE extends ReadonlyMap ? Map, Writable> : TYPE extends ReadonlySet ? Set> : TYPE extends ReadonlyArray ? `${bigint}` extends `${keyof TYPE & any}` ? { -readonly [KEY in keyof TYPE]: Writable; } : Writable[] : TYPE extends object ? { -readonly [KEY in keyof TYPE]: Writable; } : TYPE;