import * as speakeasy from 'speakeasy';
import 'twilio';
/**
 * Generates a secret key for TOTP.
 * @returns A generated secret key
 */
export declare function generateSecret(): speakeasy.GeneratedSecret;
/**
 * Generates a TOTP token based on the secret.
 * @param secret The user's TOTP secret
 */
export declare function generateToken(secret: string): string;
/**
 * Verifies a TOTP token against the user's secret.
 * @param token The TOTP token to verify
 * @param secret The user's TOTP secret
 */
export declare function verifyToken(token: string, secret: string): boolean;
/**
 * Sends an OTP via SMS using Twilio.
 * @param phoneNumber The destination phone number, including country code
 * @param message The message to send, typically "Your OTP is: [token]"
 */
export declare function sendSmsOTP(phoneNumber: string, message: string): Promise<void>;
