import { type Client, type ClientConfig, type PublicRpcSchema, type Transport } from 'viem'; import type { ChainWithBaseContracts, ChainWithEns } from '../contracts/consts.js'; import type { Prettify } from '../types.js'; import { type EnsSubgraphActions } from './decorators/subgraph.js'; export type EnsSubgraphClientConfig = Pick, 'batch' | 'key' | 'name' | 'pollingInterval' | 'transport'> & { chain: TChain; }; export type EnsSubgraphClient = Prettify>; /** * Creates a ENS Subgraph Client with a given [Transport](https://viem.sh/docs/clients/intro.html) configured for a [Chain](https://viem.sh/docs/clients/chains.html). * * @param config - {@link EnsSubgraphClientConfig} * @returns An ENS Subgraph Client. {@link EnsSubgraphClient} * * @example * import { http } from 'viem' * import { mainnet } from 'viem/chains' * import { createEnsSubgraphClient } from '@etn-sc/ensjs' * * const client = createEnsSubgraphClient({ * chain: mainnet, * transport: http(), * }) */ export declare const createEnsSubgraphClient: ({ batch, chain, key, name, transport, pollingInterval, }: EnsSubgraphClientConfig) => EnsSubgraphClient>;