/** * A manually controlled Promise used by deterministic Plugin tests. * * @module */ export interface DeferredOperation { readonly promise: Promise; readonly settled: boolean; resolve(value: TValue): void; reject(reason: unknown): void; } /** Creates a Promise whose first explicit settlement wins. */ export declare function createDeferredOperation(): DeferredOperation; export interface ControlledImageDecoder { readonly pendingInputs: readonly TInput[]; decode(input: TInput, signal?: AbortSignal): Promise; resolveNext(image: TImage): void; rejectNext(reason: unknown): void; } /** Creates a FIFO decoder whose completion is controlled by the test. */ export declare function createControlledImageDecoder(): ControlledImageDecoder;