import ThrottledInvoker from './throttled_invoker';
import type { Cancelable } from '../types/cancelable';
/**
 * An implementation of the [Actor design pattern](http://en.wikipedia.org/wiki/Actor_model)
 * that maintains the relationship between asynchronous tasks and the objects
 * that spin them off - in this case, tasks like parsing parts of styles,
 * owned by the styles
 *
 * @param {WebWorker} target
 * @param {WebWorker} parent
 * @param {string|number} mapId A unique identifier for the Map instance using this Actor.
 * @private
 */
declare class Actor {
    target: any;
    parent: any;
    mapId: number | undefined | null;
    callbacks: {
        number: any;
    };
    name: string;
    tasks: {
        number: any;
    };
    taskQueue: Array<number>;
    cancelCallbacks: {
        number: Cancelable;
    };
    invoker: ThrottledInvoker;
    globalScope: any;
    constructor(target: any, parent: any, mapId?: number | null);
    /**
     * Sends a message from a main-thread map to a Worker or from a Worker back to
     * a main-thread map instance.
     *
     * @param type The name of the target method to invoke or '[source-type].[source-name].name' for a method on a WorkerSource.
     * @param targetMapId A particular mapId to which to send this message.
     * @private
     */
    send(type: string, data: unknown, callback?: Function | null, targetMapId?: string | null, mustQueue?: boolean): Cancelable | undefined | null;
    receive(message: any): void;
    process(): void;
    processTask(id: number, task: any): void;
    remove(): void;
}
export default Actor;
//# sourceMappingURL=actor.d.ts.map