import type { ControlPlaneSessionDetail } from '../../api/types.js';
/**
 * Shapes transient assistant stream messages around persisted control-plane
 * session detail. Accepted user messages are server-owned and must arrive from
 * the API snapshot, so this service intentionally does not preserve client-only
 * user messages.
 */
export declare class ClientSharedSessionMessageService {
    static upsertLiveAssistantMessage(session: ControlPlaneSessionDetail, text: string, done: boolean | undefined): ControlPlaneSessionDetail;
    static mergeTransientMessages(current: ControlPlaneSessionDetail, next: ControlPlaneSessionDetail): ControlPlaneSessionDetail;
    private static createLiveAssistantMessage;
}
//# sourceMappingURL=session-message-service.d.ts.map