import type { JWKInterface } from "../wallet"; export type SignatureOptions = { saltLength?: number; }; type CryptoInterface = { generateJWK(): Promise; sign(jwk: JWKInterface, data: Uint8Array, options?: SignatureOptions): Promise; verify(publicModulus: string, data: Uint8Array, signature: Uint8Array): Promise; encrypt(data: Uint8Array, key: string | Uint8Array, salt?: string): Promise; decrypt(encrypted: Uint8Array, key: string | Uint8Array, salt?: string): Promise; hash(data: Uint8Array, algorithm?: string): Promise; }; export default CryptoInterface;