/**
 * remote/gateway/render — turn a SessionEvent into chat-surface text.
 *
 * A chat platform wants milestones, not a token firehose. Noisy events
 * (`assistant.delta`, `run.step`, `state`, raw `tool.call.start`) are always
 * dropped; `tool.*` detail renders only in verbose mode. The result is a
 * short, human-readable line — or `null` to skip the event entirely.
 *
 * @public @since 2.14.0 — preste remote-control T4
 */
import type { SessionEvent } from "../events.js";
export interface RenderOptions {
    /** Render tool.intent + tool.call.end too (chattier). Default false. */
    verbose?: boolean;
    /**
     * Max characters per rendered chunk. Default 3500 — under Telegram's 4096
     * hard limit. Platform adapters truncate further if their limit is lower
     * (Discord caps at 2000).
     */
    maxChars?: number;
}
/** Clip `s` to `max` characters with an ellipsis marker. */
export declare function truncate(s: string, max: number): string;
/**
 * Render one SessionEvent as human-readable chat text — or `null` to skip.
 */
export declare function renderEventForChat(event: SessionEvent, opts?: RenderOptions): string | null;
//# sourceMappingURL=render.d.ts.map