/* * Copyright (c) 2020-2022 Moddable Tech, Inc * * This file is part of the Moddable SDK Tools. * * The Moddable SDK Tools is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * The Moddable SDK Tools is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with the Moddable SDK Tools. If not, see . * */ interface Trace { (...log: (string | number | boolean)[]):void; left(log: string | ArrayBufferLike, conversation?: string):void; center(log: string | ArrayBufferLike, conversation?: string):void; right(log: string | ArrayBufferLike, conversation?: string):void; } declare const trace:Trace; declare class HostBuffer { readonly byteLength: number private brand: boolean; } interface ArrayBufferTypes { HostBuffer: HostBuffer; } interface BufferTypes extends ArrayBufferTypes { Uint8Array: Uint8Array, Uint8ClampedArray: Uint8ClampedArray, Int8Array: Int8Array, DataView: DataView } type BufferLike = BufferTypes[keyof BufferTypes]; interface ObjectConstructor { freeze(obj: T, freeze?: boolean | number): Readonly; } interface JSON { parse(text: string, reviver?: string[]): any; } interface StringConstructor { fromArrayBuffer(buffer: ArrayBufferLike): string; } interface ArrayBufferConstructor { fromString(string: string): ArrayBuffer; fromBigInt(value: BigInt): ArrayBuffer; } interface ArrayBuffer { concat(...buffers: ArrayBufferLike[]): ArrayBuffer; } interface BigIntConstructor { bitLength(value: BigInt): number fromArrayBuffer(buffer: ArrayBufferLike): BigInt } // Compartment?