import { Layer } from "effect"; import type { Chain, Transport } from "viem"; import type { BalanceService } from "../balance/index.js"; import type { BlockService } from "../block/index.js"; import type { ContractPipeline, ContractReader, ContractWriter } from "../contract/index.js"; import { PublicClientService, WalletClientService } from "../core/index.js"; import type { DeployService } from "../deploy/index.js"; import type { Eip7702Service } from "../eip7702/index.js"; import type { EnsResolver } from "../ens/index.js"; import type { Erc721Service } from "../erc721/index.js"; import type { CursorStore, CursorStream, EventBackfill, EventStream, ReliableEventStream } from "../events/index.js"; import type { GasService } from "../gas/index.js"; import type { NonceService } from "../nonce/index.js"; import type { ChainHead, ContractQuery, MulticallBatcher, QueryClient } from "../query/index.js"; import type { RequestDedup, RpcCache } from "../rpc/index.js"; import type { SignatureService } from "../signature/index.js"; import type { SimulationService } from "../simulation/index.js"; import type { SubscriptionService } from "../subscriptions/index.js"; import type { TxManager, TxReplacement } from "../tx/index.js"; import type { WalletLifecycle, WalletProvider, WalletService } from "../wallet/index.js"; import { WalletProviderRef } from "../wallet/index.js"; export type TransportRetryConfig = { readonly retryCount?: number | undefined; readonly retryDelay?: number | undefined; readonly timeout?: number | undefined; }; export type TransportCircuitBreakerConfig = { readonly failureThreshold?: number | undefined; readonly resetTimeoutMs?: number | undefined; }; export type RpcMiddlewareConfig = { readonly retry?: TransportRetryConfig | undefined; readonly circuitBreaker?: TransportCircuitBreakerConfig | undefined; readonly dedup?: boolean | undefined; }; export type ChainConfig = { readonly chainId: number; readonly chain: Chain; readonly rpcUrls: readonly string[]; readonly wsUrls?: readonly string[] | undefined; readonly transport?: Transport | undefined; readonly http?: TransportRetryConfig | undefined; readonly ws?: (TransportRetryConfig & { readonly keepAlive?: boolean | undefined; readonly reconnect?: boolean | undefined; }) | undefined; readonly rpcMiddleware?: RpcMiddlewareConfig | undefined; }; export declare function makePublicClientLayer(configs: ChainConfig[]): Layer.Layer; export declare function makeWalletClientLayer(provider: { request: (...args: unknown[]) => Promise; }, chains: Map): Layer.Layer; export declare function makeWalletClientLayerFromProviderRef(chains: Map): Layer.Layer; export declare const effectWeb3Services: Layer.Layer; export declare function makeEffectWeb3Layer(configs: ChainConfig[], provider: { request: (...args: unknown[]) => Promise; }): Layer.Layer; export declare function makeEffectWeb3LayerWithWalletProviderRef(configs: ChainConfig[], initialProvider?: WalletProvider | undefined): Layer.Layer; //# sourceMappingURL=layers.d.ts.map