PlainField<F>: F extends Date | Uint8Array | bigint | boolean | string | number ? F : F extends (infer U)[] ? PlainField<U>[] : F extends ReadonlyArray<infer U> ? ReadonlyArray<PlainField<U>> : F extends Message<infer U> ? PlainMessage<U> : F extends OneofSelectedMessage<infer C, infer V> ? { case: C; value: PlainField<V>; } : F extends { case: string | undefined; value?: unknown; } ? F : F extends { [
key:
string | number]
: Message<infer U>; } ? { [
key:
string | number]
: PlainField<U>; } : F