import type { Request, Response } from 'express'; export type { Request, Response } from 'express'; declare global { namespace Express { interface Request { weixin?: WechatMessageBody; } interface Response { reply(data: T): void; } } } export interface WechatMessageHandler { verifyMessage(req: Request, res: Response): Promise; handleMessage(req: Request, res: Response): Promise; } export interface OnWechatMessage { onMessage(req: Request, res: Response): Promise; } export interface OnWechatEvent { onEvent(payload: WechatMessageRequest): Promise; } export declare enum WechatMessageRequestType { event = "event" } export declare enum WechatMessageEvent { subscribe = "subscribe", unsubscribe = "unsubscribe", scan = "SCAN" } export interface WechatMessageBody { ToUserName: string; FromUserName: string; CreateTime: string; MsgType: WechatMessageRequestType; Event: WechatMessageEvent; EventKey: string; Ticket: string; } export declare const resolveRequest: (body: WechatMessageBody) => { to: string; from: string; createdAt: string; type: WechatMessageRequestType; event: WechatMessageEvent; eventKey: string; ticket: string; }; export interface WechatMessageRequest { to: string; from: string; createdAt: string; type: WechatMessageRequestType; event: WechatMessageEvent; eventKey: string; ticket: string; } export declare enum WechatMessageResponseType { text = "text", music = "music", news = "news", voice = "voice", image = "image" } export interface WechatMessageResponse { type: WechatMessageResponseType; content: T; } export interface WechatMessageResponseText { type: WechatMessageResponseType.text; content: string; } export interface WechatMessageResponseMusic { type: WechatMessageResponseType.music; content: { title: string; description: string; musicUrl: string; hqMusicUrl: string; thumbMediaId: string; }; } export interface WechatMessageResponseNews { type: WechatMessageResponseType.news; content: { title: string; description: string; picurl: string; url: string; }[]; } export interface WechatMessageResponseVoice { type: WechatMessageResponseType.voice; content: { mediaId: string; }; } export interface WechatMessageIResponsemage { type: WechatMessageResponseType.image; content: { mediaId: string; }; } //# sourceMappingURL=wechat-message.interface.d.ts.map