export type EmitterFn = (ir: any, outDir: string, options?: any) => Promise | void; declare class EmitterEngine { private emitters; registerEmitter(name: string, fn: EmitterFn, options?: { force?: boolean; }): void; unregisterEmitter(name: string): void; getEmitter(name: string): EmitterFn | undefined; listEmitters(): string[]; runEmitter(name: string, ir: any, outDir: string, options?: any): Promise; } export declare const emitterEngine: EmitterEngine; export {};