Instead generating unknown types, e.g.:
I would suggest:
type JsonObject = {[Key in string]: JsonValue};
type JsonArray = JsonValue[] | readonly JsonValue[];
type JsonPrimitive = string | number | boolean | null;
type JsonValue = JsonPrimitive | JsonObject | JsonArray;
type JsonProperty = JsonValue | unknown;
...
[k: string]: JsonProperty;
I'd actually suggest this be the default behavior, with an option to disable it, and a version bump, but that might be too extreme.