## API Report File for "@backstage/types" > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts // @public export function createDeferred< TResolved = void, TRejected = Error, >(): DeferredPromise; // @public export type DeferredPromise< TResolved = void, TRejected = Error, > = Promise & { resolve(value: TResolved | PromiseLike): void; reject(reason?: TRejected): void; }; // @public export function durationToMilliseconds(duration: HumanDuration): number; // @public export type Expand = T extends infer O ? { [K in keyof O]: O[K]; } : never; // @public export type ExpandRecursive = T extends infer O ? { [K in keyof O]: ExpandRecursive; } : never; // @public export type HumanDuration = { years?: number; months?: number; weeks?: number; days?: number; hours?: number; minutes?: number; seconds?: number; milliseconds?: number; }; // @public export interface JsonArray extends Array {} // @public export type JsonObject = { [key in string]?: JsonValue; }; // @public export type JsonPrimitive = number | string | boolean | null; // @public export type JsonValue = JsonObject | JsonArray | JsonPrimitive; // @public export type Observable = { [Symbol.observable](): Observable; subscribe(observer: Observer): Subscription; subscribe( onNext?: (value: T) => void, onError?: (error: Error) => void, onComplete?: () => void, ): Subscription; }; // @public export type Observer = { next?(value: T): void; error?(error: Error): void; complete?(): void; }; // @public export type Subscription = { unsubscribe(): void; readonly closed: boolean; }; ```