/**
 * The Discord REST calls the bot needs (#680). Separate from the outbound webhook posts in the
 * intervention/activity watchers (#627): a webhook can only speak into one channel and cannot
 * reply, so a bot that answers where it was asked has to go through the API with its token.
 *
 * `fetch` is a parameter, exactly as in the watchers, so tests never touch the network.
 */
/** Discord rejects a message over 2000 characters outright, so a long reply is trimmed. */
export declare const MAX_CONTENT = 2000;
/** Trim to Discord's limit, marking the cut so a truncated answer never reads as a complete one. */
export declare function clampContent(text: string): string;
/**
 * Post a message to a channel as the bot. Resolves `false` on any failure — a reply that cannot
 * be delivered must never take the daemon down.
 */
export declare function postMessage(token: string, channelId: string, content: string, opts?: {
    replyToId?: string;
    fetchImpl?: typeof fetch;
}): Promise<boolean>;
//# sourceMappingURL=rest.d.ts.map