/** * SMS inbound: parse a Twilio webhook form → ShuttleMessage, and validate the * Twilio request signature. Both pure and fully testable (no live network). * * A Twilio inbound webhook is `application/x-www-form-urlencoded` with fields * like From, To, Body, MessageSid. Every phone number is its own DM thread. */ import type { ShuttleMessage } from '../adapter.js'; export declare function parseTwilioForm(params: Record): ShuttleMessage | null; /** * Validate a Twilio webhook signature (`X-Twilio-Signature`). * Twilio signs: the full request URL + each POST param (sorted by key, * concatenated key+value), HMAC-SHA1 with the auth token, base64. */ export declare function validateTwilioSignature(authToken: string, fullUrl: string, params: Record, signature: string): boolean; //# sourceMappingURL=message.d.ts.map