import type { EngineNotice } from "../engine-notice.js";
/** The seat the harness handlers hold for the run. */
export interface ResponseModelSeat {
    /** Observe one assistant message: returns the provider-reported name when it carries one (the value the
     *  turn's frame reports), `undefined` otherwise, announcing a pair the leg has not announced yet. */
    observe(message: {
        readonly model?: unknown;
        readonly responseModel?: unknown;
    }): string | undefined;
}
/** Ids on the notice, so an operator can attribute it without joining on stream order. */
export interface ResponseModelSeatIds {
    sessionId: string;
    runId: string;
}
export declare function createResponseModelSeat(onNotice: ((notice: EngineNotice) => void) | undefined, ids: ResponseModelSeatIds): ResponseModelSeat;
