/** * @module types */ import { Optional } from './union'; /** * An object with arbitrary string-indexed values of an optional generic type `Optional`. `T` defaults to `unknown` * when not explicitly supplied. For convenient iteration of definitely assigned (i.e. non-nullable) entries, keys, * and values, see the following functions: {@link definiteEntriesOf}, {@link definiteKeysOf}, and * {@link definiteValuesOf}. */ export type Dictionary = { [key: string]: Optional; }; /** * An alias for an array of `T` elements, where `T` defaults to `unknown`. */ export type AnyArray = T[]; /** * Any object with both a numeric index signature with values of type `T` and a numeric `length` * property. `T` defaults to `unknown` if unspecified. */ export type AnyArrayLike = ArrayLike;