export declare class AsyncDispatcher {
    private _memory;
    private _retrieve;
    constructor(memory: WebAssembly.Memory, retrieve: (slot: number) => any);
    /**
     * Dispatches an async operation and returns a Promise for the result.
     *
     * @param dispatch - Calls the native dispatch_* function, returns slot address.
     * @param unwrap - Optional transform on the raw JS value returned by retrieve.
     */
    run<T>(dispatch: () => number, unwrap?: (raw: any) => T): Promise<T>;
    /**
     * Like run(), but polls with Atomics.load + setTimeout instead of
     * Atomics.waitAsync. Works in environments where waitAsync is unavailable
     * (e.g. Node.js). Used for thread pool initialization.
     */
    poll<T>(dispatch: () => number, unwrap?: (raw: any) => T): Promise<T>;
}
//# sourceMappingURL=AsyncDispatcher.d.ts.map