import type { ImageContent } from "@pk-nerdsaver-ai/pi-ai";
import type { AgentHubRemote } from "../modes/components/agent-hub";
import type { InteractiveModeContext } from "../modes/types";
import { AgentRegistry } from "../registry/agent-registry";
import { type CollabSessionState } from "./protocol";
/** Commands a guest may run locally; everything else is host-only. */
export declare const COLLAB_GUEST_ALLOWED_COMMANDS: Record<string, true>;
export declare class CollabGuestLink {
    #private;
    state: CollabSessionState | null;
    /** Local mirror of the host's agent ecosystem (refs carry `session: null`). */
    readonly agentRegistry: AgentRegistry;
    /** Agent Hub actions routed to the host over the wire. */
    get hubRemote(): AgentHubRemote;
    /** True when this guest joined through a read-only (view) link. */
    get readOnly(): boolean;
    constructor(ctx: InteractiveModeContext);
    join(link: string): Promise<void>;
    /** User-initiated leave (or post-disconnect cleanup): restore the previous session. */
    leave(_reason: string): Promise<void>;
    sendPrompt(text: string, images?: ImageContent[]): void;
    sendAbort(): void;
}
