// Global type declarations for packages without @types declare module 'ovh' { interface OVHConfig { appKey: string; appSecret: string; consumerKey: string; } interface OVHClient { request(method: string, path: string, params: any, callback: (error: any, result: any) => void): void; } function ovh(config: OVHConfig): OVHClient; export = ovh; } declare module '@mailchimp/mailchimp_transactional' { interface MailchimpMessage { template_name: string; template_content: any[]; message: { global_merge_vars: Array<{ name: string; content: string }>; from_email: string; from_name: string; subject: string; to: Array<{ email: string; type: string }>; }; } interface MailchimpClient { messages: { sendTemplate(message: MailchimpMessage): Promise; }; } function mailchimp(apiKey: string): MailchimpClient; export = mailchimp; } // Stub typing pour sdk-signer-client (non requis pour la compilation de l'endpoint subscription) declare module 'sdk-signer-client' { export interface SignerClientOptions { baseUrl?: string; apiKey?: string; timeoutMs?: number; } export interface ClientConfig extends SignerClientOptions { url?: string; timeout?: number; reconnectInterval?: number; maxReconnectAttempts?: number; } export type SignerEvent = 'connected' | 'disconnected' | 'error' | string; export class SDKSignerClient { constructor(options: ClientConfig); connect(): Promise; disconnect(): Promise; on(event: SignerEvent, handler: (...args: any[]) => void): void; // Méthodes référencées par le code (stubs typing) getUserProcessByIdnot(idnot: string): Promise; getOfficeProcessByIdnot(idnot: string): Promise; getPairingId(...args: any[]): Promise; createProcess(...args: any[]): Promise; getOwnedProcesses(...args: any[]): Promise; validateState(...args: any[]): Promise; updateProcess(...args: any[]): Promise; notifyUpdate(...args: any[]): Promise; getPhoneNumberForEmail(email: string): Promise; } export class SignerClient { constructor(options: SignerClientOptions); connect(): Promise; disconnect(): Promise; } }