declare const otpDigitLength: readonly [6, 8, 10]; type OtpSecret = string | Buffer; type OtpHashAlgorithm = "sha1" | "sha256" | "sha512"; type OtpSecretStringEncoding = "base32" | BufferEncoding; type OtpDigitLength = (typeof otpDigitLength)[number]; interface HotpOptions { addChecksum?: boolean; algorithm?: OtpHashAlgorithm; digits?: OtpDigitLength; secretEncoding?: OtpSecretStringEncoding; truncationOffset?: number; } interface HotpBufferSecretOptions extends Omit {} interface HotpStringSecretOptions extends HotpOptions {} interface HotpSpecificOptions extends Omit {} interface HotpSpecificBufferSecretOptions extends Omit {} interface HotpSpecificStringSecretOptions extends HotpSpecificOptions {} declare function generateHotp(secret: Buffer, counter: number, options?: HotpBufferSecretOptions): string; declare function generateHotp(secret: string, counter: number, options?: HotpStringSecretOptions): string; declare function generateHotp(secret: OtpSecret, counter: number, options?: HotpOptions): string; declare function generateHotpSha1(secret: Buffer, counter: number, options?: HotpSpecificBufferSecretOptions): string; declare function generateHotpSha1(secret: string, counter: number, options?: HotpSpecificStringSecretOptions): string; declare function generateHotpSha256(secret: Buffer, counter: number, options?: HotpSpecificBufferSecretOptions): string; declare function generateHotpSha256(secret: string, counter: number, options?: HotpSpecificStringSecretOptions): string; declare function generateHotpSha512(secret: Buffer, counter: number, options?: HotpSpecificBufferSecretOptions): string; declare function generateHotpSha512(secret: string, counter: number, options?: HotpSpecificStringSecretOptions): string; export { generateHotpSha512, generateHotpSha256, generateHotpSha1, generateHotp };