import type { Algorithm } from 'jws'; export interface MercureConfig { endpoint: string; adminToken: string; jwt: { alg: Algorithm; secret: string; }; http?: { timeout?: number; }; } export interface SendOptions { private?: boolean; id?: string; type?: string; retry?: number; } export interface MercureContract { generate(payload: Record): Promise; generateSubscribeToken(topics: string[]): Promise; send(topics: string | string[], data?: Record, options?: boolean | SendOptions): Promise; ping(): Promise; }