export declare const HASH_METHODS: { readonly md5: typeof md5; readonly sha512: typeof sha512; readonly sha384: typeof sha384; readonly sha256: typeof sha256; readonly sha224: typeof sha224; readonly sha1: typeof sha1; }; export type HashMethod = keyof typeof HASH_METHODS; export declare function rand(): number; export declare function hmac(key: string, message: string | Buffer, algorithm?: string): string; export declare function pbkdf2(salt: string, password: string, iterations: number, keyLength: number, digest?: string): string; export declare function md5(value: string): string; export declare function sha512(value: string): string; export declare function sha384(value: string): string; export declare function sha256(value: string): string; export declare function sha224(value: string): string; export declare function sha1(value: string): string; export declare function genRandomNumbers(length: number): string; export declare function genRandomAlphaNumbers(length: number): string; export declare function genRandomSalt(length: number): string; export declare function genRandomBytes(length?: number): Buffer; export declare function uuidv4(): string; export declare function constantEquals(a: string, b: string): boolean; export type JwtAlgorithm = "HS256" | "HS384" | "HS512" | "none"; export declare const jwtAlgorithms: Record string; verify: (key: string, segments: string[]) => boolean; }>; export declare function jwtCanonicalAlgorithmName(algorithm: string): JwtAlgorithm; export declare function jwtEncode(key: string, message: unknown, algorithm: JwtAlgorithm): string; export declare function jwtDecode(key: string, token: string, noVerify: boolean): Record | null; export declare function hotpGenerate(key: string, counter?: number): string; export declare function hotpVerify(token: string, key: string, counter?: number, window?: number): { delta: number; } | null; export declare function totpGenerate(key: string, step?: number): string; export declare function totpVerify(token: string, key: string, step?: number, window?: number): { delta: number; } | null; //# sourceMappingURL=crypto.d.ts.map