/**
 * Webhook payloads are provider-controlled untrusted strings. An unhandled
 * `JSON.parse` throw crashes the handler, returns 500. The provider then
 * retries delivery per its own (bounded) policy and eventually drops the
 * event — webhook data is silently lost. Loss is undetectable: no error
 * metric fires, the provider just stops sending.
 *
 * Wrap every `JSON.parse(...)` in a `try` block (or call it from inside a
 * `catch` handler — already in error-handling territory).
 *
 * Detection covers two scopes:
 *   1. Files matching /webhook.*\.ts$/i (filename signal)
 *   2. Functions typed as Parse/AcknowledgeWebhook(s)Handler from the
 *      integration-sdk, regardless of filename (AST signal — catches
 *      handlers in `parseEvents.ts`, `eventDispatcher.ts`, etc.)
 */
import type { Rule } from 'eslint';
declare const rule: Rule.RuleModule;
export default rule;
