export declare type Simplify = { [KeyType in keyof T]: T[KeyType]; }; export declare type Except = Pick>; export declare type Mutable = Simplify & { -readonly [KeyType in keyof Pick]: Pick[KeyType]; }>; export declare type IfEquals = (() => T extends X ? 1 : 2) extends (() => T extends Y ? 1 : 2) ? A : B; export declare type WritableKeys = { [K in keyof T]: IfEquals<{ [Q in K]: T[K]; }, { -readonly [Q in K]: T[K]; }, K>; }[keyof T]; export declare type ReadonlyKeys = { [P in keyof T]-?: IfEquals<{ [Q in P]: T[P]; }, { -readonly [Q in P]: T[P]; }, never, P>; }[keyof T]; export declare type WritablePart = Pick>; export declare type MakeRequired = Simplify & Required>>; //# sourceMappingURL=utility-types.d.ts.map