1 | import { ComputeRaw } from '../Any/Compute';
|
2 | import { Keys } from '../Any/Keys';
|
3 | import { OptionalFlat } from '../Object/Optional';
|
4 | import { Record } from '../Object/Record';
|
5 | /**
|
6 | * @hidden
|
7 | */
|
8 | declare type _Strict<U, _U = U> = U extends unknown ? U & OptionalFlat<Record<Exclude<Keys<_U>, keyof U>, never>> : never;
|
9 | /**
|
10 | * Make a [[Union]] not allow excess properties (https://github.com/Microsoft/TypeScript/issues/20863)
|
11 | * @param U to make strict
|
12 | * @returns [[Union]]
|
13 | * @example
|
14 | * ```ts
|
15 | * ```
|
16 | */
|
17 | export declare type Strict<U extends object> = ComputeRaw<_Strict<U>>;
|
18 | export {};
|