import { LanguageRuntime } from '../language.ts';
import type { Language } from '../types.ts';
import type { RuntimeOptions } from '../config.ts';
/**
 * The js tier: every runtime that interprets JavaScript source.
 *
 * Groups the engines behind the node/js commands (quickjs today), so
 * `language` and the default captures are declared once and js-tier
 * behavior has one home. A new JavaScript engine subclasses this, not
 * LanguageRuntime.
 */
export declare abstract class JsRuntime<E = unknown> extends LanguageRuntime<E> {
    readonly language: Language;
    /** The tier's head words: the class-default captures of every js engine. */
    static readonly commands: readonly string[];
    constructor(options?: RuntimeOptions<object>, configKeys?: readonly string[]);
}
//# sourceMappingURL=base.d.ts.map