import type { StreamFrame } from '../spi/token-stream-sink.js';
import { type AgUiEncoderOptions, type AgUiEvent } from './core/index.js';
export type { AgUiEncoderOptions };
/**
 * The local AG-UI encoder, reading this package's {@link StreamFrame}s. A pure state machine: the same frames
 * always give the same events.
 */
export declare class AgUiEncoder {
    private readonly core;
    constructor(options: AgUiEncoderOptions);
    /** How many frames of the library stream this encoder has consumed. */
    get consumed(): number;
    /** The run is waiting on at least one approval or question set nobody has settled yet. */
    get waiting(): boolean;
    /** A tool call is announced and neither answered nor parked: more frames are coming. */
    get busy(): boolean;
    start(): AgUiEvent[];
    encode(frame: StreamFrame): AgUiEvent[];
    finish(ended?: boolean): AgUiEvent[];
}
//# sourceMappingURL=encoder.d.ts.map