///
/**
* @file Random stuff used throughout the project
*/
import { EventEmitter } from 'events';
/**
* Convert number to hex
*/
export declare function toHex(decimal: number, evenLength?: boolean, xPrefix?: boolean): string;
/**
* Convert number to binary
*/
export declare function toBinary(decimal: number, lengthMultipleOfFour?: boolean, gapEveryByte?: boolean, minLength?: number): string;
/**
* Rounds a number to a certain decimal place.
* Precision 0 by default.
*/
export declare function round(num: number, precision?: number): number;
/**
* Returns a promise that resolves in n milliseconds
*/
export declare function wait(milliseconds: number): Promise<{}>;
/**
* Wait until event is emitted
* @TODO Add timeout as well if event is never emitted
*/
export declare function waitUntilEvent(emitter: EventEmitter, eventName: string): () => Promise;
/**
* Takes a TypeScript enum and returns the actual list of keys.
* Since enums have reverse lookup keys as well, this has to be done when checking for the _actual_ keys.
*/
export declare function properEnumKeys(enumObj: T): Array;