/** * El trigger de Stripe (`serviceConfig.stripe`, 2026-10-08): qué eventos de la * cuenta conectada lo disparan. En un solo sitio para el DTO del api y la * pantalla del dashboard. * * ## De dónde llegan * * La credencial `stripe_oauth2` es la Stripe App de HostWebhook instalada en * UNA cuenta, en live o en test. Los eventos no se suscriben por trigger: el * webhook de Connect de la cuenta de HostWebhook recibe los de TODAS las * cuentas que instalaron la app, cada uno con su `account`, y el api reparte * cada evento a los triggers activos de esa cuenta y ese modo. Por eso aquí * sólo se elige QUÉ eventos; la cuenta la dice la credencial. * * ## Nada viene elegido * * `events` no tiene defecto: `null` (o vacío) = sin contestar, y Activate no se * deja pulsar hasta que haya al menos uno ({@link stripeTriggerSinContestar}). * * ## Qué permiso pide cada grupo * * Stripe sólo entrega a la app los eventos de lo que la app puede LEER, así * que cada grupo nombra el permiso de lectura de la Stripe App que lo cubre * (`permiso`). Están todos en el manifiesto de la app; si Stripe añadiera un * evento de un objeto nuevo, su permiso tendría que entrar antes allí. */ /** El `service` del trigger. */ export declare const STRIPE_TRIGGER_SERVICE = "stripe"; export interface StripeTriggerEventSpec { /** El `type` del evento de Stripe, tal cual. */ type: string; label: string; description: string; } export interface StripeTriggerEventGroup { label: string; /** El permiso de lectura de la Stripe App que cubre estos eventos. */ permiso: string; events: ReadonlyArray; } /** Los eventos que se pueden elegir, por grupo y en el orden de la pantalla. */ export declare const STRIPE_TRIGGER_EVENT_GROUPS: ReadonlyArray; /** Todos los tipos, en el orden de la pantalla. */ export declare const STRIPE_TRIGGER_EVENTS: ReadonlyArray; /** El spec de cada tipo, para el nombre en pantalla y los logs. */ export declare const STRIPE_TRIGGER_EVENT_BY_TYPE: Readonly>; export interface StripeTriggerConfig { /** Sin defecto: `null` o vacío = sin contestar. */ events: string[] | null; } /** * Lo que falta por contestar antes de activar. Vacío = se puede activar. Un * tipo que no está en la lista no cuenta como contestado: no llegaría nunca. */ export declare function stripeTriggerSinContestar(cfg: Partial | null | undefined): string[];