import { RawImage } from "@foxglove/schemas";
import { RawImageOptions } from "./decodeImage";
import { Image as RosImage } from "../../ros";
/**
 * Provides a worker that can process RawImages on a background thread.
 *
 * The input image data must be **copied** to the worker, because image messages may be used
 * concurrently by other panels and features of the app. However, the resulting decoded data is
 * [transferred](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Transferable_objects)
 * back to the main thread.
 */
export declare class WorkerImageDecoder {
    #private;
    constructor();
    /**
     * Copies `image` to the worker, and transfers the decoded result back to the main thread.
     */
    decode(image: RosImage | RawImage, options: Partial<RawImageOptions>): Promise<ImageData | ImageBitmap>;
    terminate(): void;
}
//# sourceMappingURL=WorkerImageDecoder.d.ts.map