Exact<A, W>: (A extends unknown
    ? W extends A
        ? {
            [K in keyof A]: Exact<A[K], W[K]>
        }
        : W
    : never) | (A extends Narrowable
    ? A
    : never)

Type Parameters

  • A
  • W