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 }