///
import { EventEmitter } from 'events';
import { Command } from '../commands';
import { McFunction } from '..';
interface TranspilerEvents {
command: [Command];
'function:start': [];
'function:end': Parameters;
}
export interface Transpiler {
on(type: K, listener: (...args: TranspilerEvents[K]) => void): this;
emit(type: K, ...args: TranspilerEvents[K]): boolean;
}
export declare class Transpiler extends EventEmitter {
#private;
static running?: Transpiler;
static emit(type: T, ...args: TranspilerEvents[T]): boolean | undefined;
constructor();
private endFunction;
transpile(source: () => void, name?: string): {
rootFunction: McFunction;
functions: Map;
};
}
export {};