// tslint:disable-next-line:interface-name export interface Hash { [id: string]: T; } // tslint:disable-next-line:interface-name export interface List { [index: number]: T; length: number; } /** * Interface of the simple literal object with any string keys. */ export interface IObjectLiteral { [key: string]: any; } /** * Represents some Type of the Object. */ export type ObjectType = { new(): T } | Function; /** * Same as Partial but goes deeper and makes Partial all its properties and sub-properties. */ export type DeepPartial = { [P in keyof T]?: DeepPartial; }; export interface IDelimitter { begin: string; end: string; } export type JSONPathExpression = string; export enum EPlatform { Linux = 'linux', Windows = 'win32', OSX = 'darwin' } export enum EArch { x64 = '64', x32 = '32' } export enum EDeviceScope { USER_DEVICES = 'user_devices', SYSTEM_DEVICES = 'system_devices' } export enum EDriverScope { USER_DRIVERS = 'user_drivers', SYSTEM_DRIVERS = 'system_drivers' }