# `@kbn/utility-types` TypeScript utility types for usage in Kibana. - This package re-exports a subset of the items in [`utility-types`](https://github.com/piotrwitek/utility-types) - You can also add more utility types here. ## Usage ```ts import { UnwrapPromise } from '@kbn/utility-types'; type A = Promise; type B = UnwrapPromise; // string ``` ## Reference - `Assign` — From `U` assign properties to `T` (just like object assign). - `Ensure` — Makes sure `T` is of type `X`. - `ObservableLike` — Minimal interface for an object resembling an `Observable`. - `PublicContract` — Returns an object with public keys only. - `PublicKeys` — Returns public keys of an object. - `RecursiveReadonly` — Like `Readonly`, but freezes object recursively. - `ShallowPromise` — Same as `Promise` type, but it flat maps the wrapped type. - `UnionToIntersection` — Converts a union of types into an intersection. - `UnwrapObservable` — Returns wrapped type of an observable. - `UnwrapPromise` — Returns wrapped type of a promise. - `UnwrapPromiseOrReturn` — Returns wrapped type of a promise or the type itself, if it isn't a promise. - `Values` — Returns object or array value types.