import { unitOfTime } from 'moment'; export type Ignorable = TValue | null; export type Optional = TValue | undefined; export type LabelFn = () => string; export type LabelType = string | LabelFn; export type Labelled = { label: LabelType; }; export type Username = string; export type Password = string; export type AccountId = string; export type ClientId = string; export type DeviceId = string; export type Credentials = { username: Username; password: Password; clientId?: ClientId; }; export type DeviceCommandAddresses = { iotTopic?: string; bleAddress?: string; }; export type Debuggable = { debug?: boolean; }; export type LengthUnits = 'cm'; export type Distance = { value?: number; unit?: LengthUnits; }; export type Duration = { value?: number; unit?: unitOfTime.DurationConstructor; }; export type NumericRange = arr['length'] extends end ? acc | start | end : NumericRange; export type SingleEnumValue = TValues[keyof TValues extends number ? keyof TValues : never]; export type BitFlagValue = { readonly value: number; or: (other: BitFlagValue) => BitFlagValue; union: (...others: BitFlagValue[]) => BitFlagValue; hasFlag: (other: BitFlagValue) => boolean; intersect: (...others: BitFlagValue[]) => BitFlagValue; }; export type BitFlagEnumValue = BitFlagValue & { stringValue: SingleEnumValue; }; export type BitFlagEnum = { readonly [key in SingleEnumValue]: BitFlagEnumValue; } & { readonly keys: readonly SingleEnumValue[]; }; export type EnumValues = string[] extends TValues ? never : TValues; //# sourceMappingURL=types.d.ts.map