import { Context, Effect, Layer } from "effect"; import type { Address, HashTypedDataParameters, Hex, RecoverTypedDataAddressParameters, TypedData, VerifyTypedDataParameters } from "viem"; import { InvalidSignatureError, SignatureRecoveryError, SignatureVerificationError } from "./errors.js"; export type SignatureServiceShape = { readonly verifyMessage: (params: { address: Address; message: string | Uint8Array; signature: Hex; }) => Effect.Effect; readonly verifyTypedData: , TPrimaryType extends keyof TTypedData | "EIP712Domain">(params: VerifyTypedDataParameters) => Effect.Effect; readonly recoverAddress: (params: { message: string | Uint8Array; signature: Hex; }) => Effect.Effect; readonly recoverTypedDataAddress: , TPrimaryType extends keyof TTypedData | "EIP712Domain">(params: RecoverTypedDataAddressParameters) => Effect.Effect; readonly splitSignature: (signature: Hex) => Effect.Effect<{ r: Hex; s: Hex; v: bigint; }, InvalidSignatureError>; readonly joinSignature: (params: { r: Hex; s: Hex; v: bigint; }) => Effect.Effect; readonly hashMessage: (message: string | Uint8Array) => Effect.Effect; readonly hashTypedData: , TPrimaryType extends keyof TTypedData | "EIP712Domain">(params: HashTypedDataParameters) => Effect.Effect; }; declare const SignatureService_base: Context.TagClass; export declare class SignatureService extends SignatureService_base { } export declare const SignatureServiceLive: Layer.Layer; export {}; //# sourceMappingURL=service.d.ts.map