import type * as acp from "@agentclientprotocol/sdk";
import type { GuestAgentMessagePayload } from "../hub/index.js";
import type { PeerAppState } from "../peer/state/peer-app-state.js";
export interface AcpGuestProjectionOptions {
    appState: PeerAppState;
    agentId: string;
    cwd: string;
    sessionId?: string;
    sessionFile?: string;
}
export declare class AcpGuestProjection {
    private readonly options;
    private readonly items;
    private readonly toolsById;
    private readonly finalizedToolCallIds;
    private currentAssistant;
    private currentAssistantMessageId;
    private isRunning;
    private runStartedAt;
    private lastRunStartedAt;
    private lastRunEndedAt;
    private lastRunDurationMs;
    private lastRunEndReason;
    private assistantSequence;
    constructor(options: AcpGuestProjectionOptions);
    appendUserPrompt(text: string): void;
    appendInboundAgentMessage(payload: GuestAgentMessagePayload): string;
    applySessionUpdate(notification: acp.SessionNotification): void;
    completeTurn(stopReason: string): void;
    failTurn(error: unknown): void;
    private appendAssistantChunk;
    private ensureAssistantMessage;
    private mergeToolUpdate;
    private upsertTool;
    private appendToolResult;
    private ensureAssistantToolCall;
    private setStatusMessage;
    private startRun;
    private publish;
    private createAgentView;
}
//# sourceMappingURL=acp-guest-projection.d.ts.map