import { type Express, type Request as ExpressRequest, type Response as ExpressResponse } from 'express'; import type { createBetterAuthConfig } from '../config/index.js'; import type { BetterAuthSessionService } from '../services/auth/better-auth-session-service.js'; import { MagicLinkService } from '../services/auth/magic-link-service.js'; type BetterAuthInstance = Awaited>; /** * Handles password-related flows: magic link sending, password setup/reset, * and password success pages. */ export declare class PasswordFlowController { private readonly auth; private readonly sessionService; private readonly magicLinkService; private readonly gtmContainerId?; /** * Best-effort revocation of the OWOX platform refresh token carried by the * request (the `refreshToken` cookie), invoked after a successful password * reset so the acting device's platform session is revoked at the OWOX * Identity level, not only the Better Auth UI session. No-op when the * request carries no platform refresh token (e.g. reset from a logged-out * browser). */ private readonly revokePlatformSession?; private readonly logger; constructor(auth: BetterAuthInstance, sessionService: BetterAuthSessionService, magicLinkService: MagicLinkService, gtmContainerId?: string | undefined, /** * Best-effort revocation of the OWOX platform refresh token carried by the * request (the `refreshToken` cookie), invoked after a successful password * reset so the acting device's platform session is revoked at the OWOX * Identity level, not only the Better Auth UI session. No-op when the * request carries no platform refresh token (e.g. reset from a logged-out * browser). */ revokePlatformSession?: ((req: ExpressRequest, res: ExpressResponse) => Promise) | undefined); sendMagicLink(req: ExpressRequest, res: ExpressResponse): Promise; private getSession; passwordSetupPage(req: ExpressRequest, res: ExpressResponse): Promise; setPassword(req: ExpressRequest, res: ExpressResponse): Promise; passwordSuccessPage(_req: ExpressRequest, res: ExpressResponse): Promise; registerRoutes(express: Express): void; } export {}; //# sourceMappingURL=password-flow-controller.d.ts.map