import { OutputEvent } from '../../OutputEvent';
import { ITimerRuntime } from '../../ITimerRuntime';
import { IRuntimeEvent } from '../../IRuntimeEvent';
import { RuntimeSpan } from '../../RuntimeSpan';
import { OutputAction } from '../OutputAction';
import { Subject } from 'rxjs';
/**
 * Action to write a result to the output stream.
 * Used by blocks to report their metrics and completion.
 *
 * Can handle either a single ResultSpan or an array of ResultSpan objects,
 * allowing blocks to emit multiple result spans when they complete.
 */
export declare class WriteResultAction extends OutputAction {
    private results;
    constructor(result: RuntimeSpan | RuntimeSpan[]);
    write(_runtime: ITimerRuntime, _input: Subject<IRuntimeEvent>): OutputEvent[];
}
