///
import { Debugger } from "debug";
import { EventEmitter } from "stream";
import { Transferable } from "../Transferable";
import { ThreadMethodKey } from "../types/general";
import { BaseThreadMessage, CallMessage } from "../types/messages";
export interface Callable {
resolve(result: any): void;
reject(error: Error): void;
done?: (success: boolean) => void;
}
export declare type MainFunctionMap = Map;
export declare class CallableStore extends EventEmitter {
private debug;
private callables;
private callableSequence;
callbacks: Map;
private functionSequence;
constructor(debug: Debugger);
size(): number;
rejectAll(withErr: Error): void;
createCallMessage(key: ThreadMethodKey, args: any[], callable: Callable): {
msg: CallMessage;
transferables: Transferable[];
};
private remove;
handleMessage(msg: BaseThreadMessage, id: number): boolean;
}