declare const otpDigitLength: readonly [6, 8, 10]; type OtpType = "hotp" | "totp"; type OtpHashAlgorithm = "sha1" | "sha256" | "sha512"; type OtpDigitLength = (typeof otpDigitLength)[number]; interface OtpUriOptions { algorithm: OtpHashAlgorithm; digits: OtpDigitLength; counter: number; period: number; } interface HotpUriOptions extends Partial> {} interface TotpUriOptions extends Partial> {} declare function generateOtpUri(type: "hotp", issuer: string, subject: string, secret: string, options?: HotpUriOptions): string; declare function generateOtpUri(type: "totp", issuer: string, subject: string, secret: string, options?: TotpUriOptions): string; declare function generateOtpUri(type: OtpType, issuer: string, subject: string, secret: string, options?: HotpUriOptions | TotpUriOptions): string; declare function generateHotpUri(issuer: string, subject: string, secret: string, options?: HotpUriOptions): string; declare function generateTotpUri(issuer: string, subject: string, secret: string, options?: TotpUriOptions): string; export { generateTotpUri, generateOtpUri, generateHotpUri };