export default WorkerProxy;
declare class WorkerProxy {
    /**
     *
     * @param {string} url
     * @param {Object} methods
     */
    constructor(url: string, methods: any);
    /**
     *
     * @type {{}}
     * @private
     */
    private __pending;
    __isRunning: boolean;
    /**
     *
     * @type {Worker|null}
     * @private
     */
    private __worker;
    /**
     *
     * @type {number}
     * @private
     */
    private __id_counter;
    /**
     * Created worker will assume this name as well
     * Useful for debug purposes and reflection
     * @type {string}
     * @private
     */
    private __name;
    url: string;
    methods: any;
    /**
     * Invoke a given method on the worker, as defined by the `WorkerBuilder`
     * @template T
     * @param {string} name Method's name
     * @param {Array} args
     * @return {Promise<T>} eventual result of the invoked method
     */
    $submitRequest<T>(name: string, args: any[]): Promise<T>;
    /**
     *
     * @param {string} name
     * @private
     */
    private __makeMethod;
    /**
     *
     * @private
     */
    private __generateAPI;
    /**
     *
     * @param {Event} event
     * @private
     */
    private __handleMessage;
    isRunning(): boolean;
    stop(): void;
    /**
     *
     * @param {number} id
     * @param {string} method_name
     * @returns {boolean}
     */
    cancelRequest(id: number, method_name: string): boolean;
    sendPendingRequests(): void;
    start(): void;
}
//# sourceMappingURL=WorkerProxy.d.ts.map