import type { GenerateOTPInput, GenerateOTPResult, GenerateTokenInput, GenerateTokenResult, OTPManagerOptions, OTPTokenLinkOptions, VerifyOTPInput, VerifyTokenInput } from "./otp.types.js"; export declare class OTPManager { private readonly options; constructor(options: OTPManagerOptions); generate(input: GenerateOTPInput): Promise; generateAndSend(input: GenerateOTPInput): Promise; verify(input: VerifyOTPInput): Promise; generateToken(input: GenerateTokenInput): Promise; generateTokenAndSend(input: GenerateTokenInput, linkOptions?: OTPTokenLinkOptions): Promise; verifyToken(input: VerifyTokenInput): Promise; private generateSecretFlow; private verifySecretFlow; private buildKeys; private getResolvedCooldown; private getResolvedRateLimit; private getResolvedReplayProtection; private getResolvedLockout; private shouldCheckGenerateLock; private shouldCheckVerifyLock; private buildEventContext; private sendDelivery; private emitGenerated; private emitVerified; private emitFailed; private emitLocked; private emitRateLimited; private emitCooldownBlocked; private dispatchLifecycleEvent; private getHook; }