import type { ConnectRequest, ConnectResponse, NextFunction } from '../types.js'; export interface ExpressLikeApp { use(path: string, ...handlers: any[]): void; get(path: string, ...handlers: any[]): void; post(path: string, ...handlers: any[]): void; } export interface HandlerFunctions { generateSession: (req: ConnectRequest, res: ConnectResponse) => Promise; checkSession: (req: ConnectRequest, res: ConnectResponse) => Promise; expireSession: (req: ConnectRequest, res: ConnectResponse) => Promise; onAuthRequest: (req: ConnectRequest, res: ConnectResponse) => Promise; onAuthResponse: (req: ConnectRequest, res: ConnectResponse) => Promise; ensureContext: (req: ConnectRequest, res: ConnectResponse, next: NextFunction) => Promise; ensureSignedJson: (req: ConnectRequest, res: ConnectResponse, next: NextFunction) => void; } export interface AttachExpressOptions { app: ExpressLikeApp; prefix: string; action: string; handlers: HandlerFunctions; } /** * Register DID Connect routes on an Express-compatible app. * * Routes registered: * - GET/POST `{prefix}/{action}/token` — generate session * - GET `{prefix}/{action}/status` — check session status * - GET `{prefix}/{action}/timeout` — expire session * - GET `{prefix}/{action}/auth` — wallet fetches auth request * - POST `{prefix}/{action}/auth` — wallet submits auth response * - GET `{prefix}/{action}/auth/submit` — web wallet submit */ export declare function attachExpress({ app, prefix, action, handlers }: AttachExpressOptions): { generateSession: (req: ConnectRequest, res: ConnectResponse) => Promise; expireSession: (req: ConnectRequest, res: ConnectResponse) => Promise; checkSession: (req: ConnectRequest, res: ConnectResponse) => Promise; onAuthRequest: (req: ConnectRequest, res: ConnectResponse) => Promise; onAuthResponse: (req: ConnectRequest, res: ConnectResponse) => Promise; }; //# sourceMappingURL=express.d.ts.map