import { EmitEventType } from '../../plugin/types';
import { BaseMsgMethodForMainThread } from './baseForMainThread';
import { IWorkerMessage } from '../types';
import { MainThreadEngineImpl } from '../mainThread/base';
export type MsgMethodForMainThread<T extends BaseMsgMethodForMainThread> = T;
export declare class MethodBuilderWorker {
    builders: Map<EmitEventType, MsgMethodForMainThread<BaseMsgMethodForMainThread> | undefined>;
    constructor(emitTypes: EmitEventType[]);
    build(type: EmitEventType): MsgMethodForMainThread<BaseMsgMethodForMainThread> | undefined;
    registerForMainThread(threadEngine: MainThreadEngineImpl): this;
    consumeForMainThread(data: IWorkerMessage): Promise<boolean>;
}
