///
///
import vm from 'vm';
/** Bytecode Wrapper Class. */
export declare class Bytecode {
readonly isModule: boolean;
/** The current script buffer instance. */
private m_buffer;
/** A script instance of the underlying buffer. */
private m_script;
/** The buffers length property. */
readonly length: number;
/** The code necessary for launching scripts. */
readonly dummy: string;
/** Returns an immutable buffer reference. */
get buffer(): Buffer;
/** Returns if the bytecode is valid. */
get valid(): boolean;
/**
* Constructs a bytecode instance.
* @param code Code to compile.
* @param options Script options.
* @param isModule Optional module flag.
*/
constructor(code: string | Buffer, options?: Omit, isModule?: boolean);
/** Coordinates launching the bytecode. */
launch(options?: vm.RunningScriptOptions): T;
}
/** Bytecode Versioning. */
export declare namespace Bytecode.Version {
/** The current underlying version to use. */
const CURRENT: number;
/** Carbon versioning list. */
const CARBON: string[];
/** Long-term support versioning list. */
const LTS: string[];
}
/** Bytecode Utilities. */
export declare namespace Bytecode.Utils {
/**
* Raw compilation step for bytecode generation.
* @param code Code to create.
* @param isModule Module flag.
* @returns
*/
const compile: (code: string, isModule?: boolean) => Buffer;
/**
* Determines an accurate length of a script buffer.
* @param buffer Buffer instance.
*/
const length: (buffer: Buffer) => number;
}