export declare class AbortToken { private callbacks; get aborted(): boolean; abort(): void; registerCallback(callback: () => void): () => void; } export declare function delay(delayMs: number, abortToken?: AbortToken | null): Promise; export declare const getMonotonicTimeMs: () => number; export declare function createWeakRef(target: object): unknown; export declare function getWeakRefStub(): new (target: object) => unknown; export declare function toStringSafe(value: unknown): string; /** Formats error in a similar way to Chromium-based browsers. */ export declare function errorToString(err: any, includeStackTrace?: boolean): string; /** Indicates a null-prototype object that is used as a map. */ export type ObjectMap = Record & { [K in keyof Object]: TValue; }; /** Creates a null-prototype object that is used as a map. */ export declare function createMap(): ObjectMap; export declare const setPrototypeOf: (obj: T, proto: object | null) => T; export declare function ensurePrototype(obj: T, ctor: new (...args: any[]) => T): void; export declare function hasOwnProperty(obj: object, key: keyof any): boolean; export declare function isBoolean(value: unknown): value is boolean; export declare function isNumber(value: unknown): value is number; export declare function isNumberInRange(value: unknown, minValue: number, maxValue: number): value is number; export declare const isInteger: (value: unknown) => value is number; export declare function isIntegerInRange(value: unknown, minValue: number, maxValue: number): value is number; export declare function isString(value: unknown): value is string; export declare function isObject(value: unknown): value is Record; export declare function isArray(value: unknown): value is ReadonlyArray; export declare function isStringArray(value: unknown): value is ReadonlyArray; export declare function isFunction(value: unknown): value is (...args: unknown[]) => unknown; export declare function isPromiseLike(obj: unknown): obj is PromiseLike; export declare function ensureBooleanArg(value: boolean, argName: string, memberPath?: string): boolean; export declare function ensureNumberArg(value: number, argName: string, memberPath?: string): number; export declare function ensureNumberArgInRange(value: number, argName: string, rangeDescription: string, isInRange: (value: number) => boolean, memberPath?: string): number; export declare function ensureEnumArg(value: T, argName: string, enumName: string, isValidEnum: (value: number) => boolean, memberPath?: string): T; export declare function ensureStringArg(value: string, argName: string, requireNonEmpty?: boolean, memberPath?: string): string; export declare function ensureFunctionArg any>(value: T, argName: string, memberPath?: string): T; export declare function ensureObjectArg(value: T, argName: string, requiredProps?: ObjectMap, memberPath?: string): T; export declare function throwInvalidArg(argName: string, reason: string, memberPath?: string, errorConstructor?: ErrorConstructor): never; export declare function formatStringList(items: ReadonlyArray, maxLength?: number, getOmittedItemsText?: (count: number) => string, separator?: string): string; export declare function utf8Encode(text: string): string; export declare function parseIntStrict(value: string): number; export declare function parseFloatStrict(value: string): number; export declare function shallowClone(obj: T, propertyReplacer?: (key: keyof T, value: unknown) => unknown): Record; export declare class LazyString { private state; private factoryOrValue; constructor(state: TState, factory: (state: TState) => string); toString(): string; } export type Message = { toString(): string; }; /** Picks a set of properties from object `T` and change their type as specified by `TPropMap`. */ export type PickWithType = { [K in keyof TPropMap]: TPropMap[K]; };