declare global { interface Window { crypto?: { getRandomValues: (array: Uint8Array) => Uint8Array; }; chrome?: any; browser?: any; } } export type Algorithm = 'sha1' | 'sha256' | 'sha512'; export interface TOTPOptions { timeStep?: number; digits?: number; algorithm?: Algorithm; window?: number; epoch?: number; maxAttempts?: number; lockoutDuration?: number; } export interface TOTPResult { token: string; timeRemaining: number; expiresAt: number; period: number; } export interface VerifyResult { isValid: boolean; delta?: number; timeUsed?: number; timeDelta?: number; attemptsRemaining?: number; lockedUntil?: number; } export interface SecurityConfig { minSecretLength: number; maxSecretLength: number; maxWindow: number; maxDigits: number; maxTimeStep: number; minTimeStep: number; } declare const SECURITY_CONFIG: SecurityConfig; declare const DEFAULT_OPTIONS: Required; export declare function generateTOTP(secret: string, time?: number, options?: TOTPOptions): string; export declare function generateTOTPAdvanced(secret: string, time?: number, options?: TOTPOptions): TOTPResult; export declare function verifyTOTP(secret: string, token: string, time?: number, options?: TOTPOptions, identifier?: string): boolean; export declare function verifyTOTPAdvanced(secret: string, token: string, time?: number, options?: TOTPOptions, identifier?: string): VerifyResult; export declare function generateTOTPURI(secret: string, accountName: string, issuer: string, options?: TOTPOptions): string; export declare function parseTOTPURI(uri: string): { secret: string; accountName: string; issuer: string; options: TOTPOptions; } | null; export declare function getRemainingTime(options?: TOTPOptions): number; export declare function getProgress(options?: TOTPOptions): number; export declare function clearAttempts(identifier: string): void; export declare function getAttemptsInfo(identifier: string): { attempts: number; lastAttempt: number; lockedUntil: number | undefined; } | null; export declare function validateSecretStrength(secret: string): { isValid: boolean; score: number; issues: string[]; }; export declare function sanitizeSecret(secret: string): string; export { DEFAULT_OPTIONS, SECURITY_CONFIG }; export { getEnvironmentInfo } from './crypto/crypto'; export { generateSecret, generateSecureSecret } from './secret'; export { decodeBase32, encodeBase32 } from './utils/base32'; export * from './hotp'; export * from './security'; export * from './config'; export * from './hooks'; export * from './logger'; export * from './errors'; //# sourceMappingURL=index.d.ts.map