/** * Client-specific rendering limits worth explaining in a tool result. * * The server does the spec-compliant thing and streams `notifications/progress` * during long calls; that is the canonical channel and it works - verified * against the reference MCP SDK client, which receives every update. Some * clients drop them on the floor, and from the user's seat that is * indistinguishable from a hung tool. Rather than invent a side channel, say * so once, in the result, and only to the client that actually has the * problem. */ export interface ClientInfo { name: string; version?: string; } export declare function progressRenderingNote(client: ClientInfo | undefined): string | null; /** * Whether the elicitation form has to be preceded by handing the dialog over. * * `UE_MCP_DIALOG_RELAY=off` turns it off whatever the client is, so a client * whose rendering is fine does not have to wait for a release to say so, and * `=on` forces it back on. Anything else, including unset, leaves the decision * to the client. */ export declare function elicitationNeedsRelay(client: ClientInfo | undefined): boolean;