import type { Layer } from "effect"; import { Effect } from "effect"; import type { Address, Hash, Hex } from "viem"; import type { NftMetadata } from "../erc721/index.js"; import { Erc721Service } from "../erc721/index.js"; export type MockErc721ServiceConfig = { ownerOf?: (params: { address: Address; chainId: number; tokenId: bigint; }) => Effect.Effect
; balanceOf?: (params: { address: Address; chainId: number; owner: Address; }) => Effect.Effect; getApproved?: (params: { address: Address; chainId: number; tokenId: bigint; }) => Effect.Effect
; isApprovedForAll?: (params: { address: Address; chainId: number; operator: Address; owner: Address; }) => Effect.Effect; tokenURI?: (params: { address: Address; chainId: number; tokenId: bigint; }) => Effect.Effect; fetchMetadata?: (params: { address: Address; chainId: number; gateways?: { arweave?: string; ipfs?: string; }; tokenId: bigint; }) => Effect.Effect; name?: (params: { address: Address; chainId: number; }) => Effect.Effect; symbol?: (params: { address: Address; chainId: number; }) => Effect.Effect; totalSupply?: (params: { address: Address; chainId: number; }) => Effect.Effect; approve?: (params: { account?: Address; address: Address; chainId: number; to: Address; tokenId: bigint; }) => Effect.Effect; setApprovalForAll?: (params: { account?: Address; address: Address; approved: boolean; chainId: number; operator: Address; }) => Effect.Effect; transferFrom?: (params: { account?: Address; address: Address; chainId: number; from: Address; to: Address; tokenId: bigint; }) => Effect.Effect; safeTransferFrom?: (params: { account?: Address; address: Address; chainId: number; data?: Hex; from: Address; to: Address; tokenId: bigint; }) => Effect.Effect; }; export declare const makeMockErc721ServiceLayer: (config?: MockErc721ServiceConfig, supportedChainId?: number) => Layer.Layer; //# sourceMappingURL=mock-erc721-service.d.ts.map