/**
 * Follow-up suggestion marker parsing.
 *
 * The system prompt instructs the agent to end every response with an HTML
 * comment of the form:
 *
 *   <!-- followups: ["prompt 1", "prompt 2", "prompt 3"] -->
 *
 * Each transport (web, CLI, MCP) must strip this marker from the content it
 * displays and surface the suggestions in whatever form fits its UI — chips
 * in the web client, a dim numbered list in the CLI, a `suggestions` field
 * in MCP, etc.
 *
 * Keep the parser in one place so a new transport can't silently leak the
 * raw marker.
 */
export interface ParsedFollowups {
    /** Response content with the marker removed and trailing whitespace trimmed. */
    content: string;
    /** Parsed suggestions, if the marker was present and valid JSON. */
    suggestions?: string[];
}
/**
 * Parse a raw agent response and split it into clean content plus optional
 * follow-up suggestions. Malformed markers are left in place (the caller can
 * choose to strip or render as-is), matching the existing web behaviour.
 */
export declare function parseFollowups(raw: string): ParsedFollowups;
/**
 * Return true if `text` contains an *unclosed* followups marker — used by
 * streaming consumers to know whether to defer rendering the tail of a
 * delta until the closing `-->` arrives.
 */
export declare function hasOpenFollowupsMarker(text: string): boolean;
