import type { Layer } from "effect"; import { Effect } from "effect"; import type { Address, Hex, TypedData, TypedDataDomain } from "viem"; import type { InvalidSignatureError, SignatureRecoveryError, SignatureVerificationError } from "../signature/index.js"; import { SignatureService } from "../signature/index.js"; export type MockSignatureServiceConfig = { verifyMessage?: (params: { address: Address; message: string | Uint8Array; signature: Hex; }) => Effect.Effect; verifyTypedData?: (params: { address: Address; domain: TypedDataDomain; types: TTypedData; primaryType: TPrimaryType; message: Record; signature: Hex; }) => Effect.Effect; recoverAddress?: (params: { message: string | Uint8Array; signature: Hex; }) => Effect.Effect; recoverTypedDataAddress?: (params: { domain: TypedDataDomain; types: TTypedData; primaryType: TPrimaryType; message: Record; signature: Hex; }) => Effect.Effect; splitSignature?: (signature: Hex) => Effect.Effect<{ r: Hex; s: Hex; v: bigint; }, InvalidSignatureError>; joinSignature?: (params: { r: Hex; s: Hex; v: bigint; }) => Effect.Effect; hashMessage?: (message: string | Uint8Array) => Effect.Effect; hashTypedData?: (params: { domain: TypedDataDomain; types: TTypedData; primaryType: TPrimaryType; message: Record; }) => Effect.Effect; }; export declare const makeMockSignatureServiceLayer: (config?: MockSignatureServiceConfig) => Layer.Layer; //# sourceMappingURL=mock-signature-service.d.ts.map