import type { AsyncRunner } from '../threading/AsyncRunner';
/**
 * Use an {@linkcode AsyncRunner}.
 * An {@linkcode AsyncRunner} can be used to asynchronously
 * run code in a Frame Processor on a separate, non-blocking
 * Thread.
 * @example
 * ```ts
 * function App() {
 *   const asyncRunner = useAsyncRunner()
 *   const frameOutput = useFrameOutput({
 *     onFrame(frame) {
 *       'worklet'
 *       const wasHandled = asyncRunner.runAsync(() => {
 *         'worklet'
 *         doSomeHeavyProcessing(frame)
 *         // Async task finished - dispose the Frame now.
 *         frame.dispose()
 *       })
 *
 *       if (!wasHandled) {
 *         // `asyncRunner` is busy - drop this Frame!
 *         frame.dispose()
 *       }
 *     }
 *   })
 * }
 * ```
 */
export declare function useAsyncRunner(): AsyncRunner;
