import { type Client, type ClientConfig, type PublicRpcSchema, type Transport } from 'viem'; import type { ChainWithBaseContracts, ChainWithPns } from '../contracts/consts.js'; import type { Prettify } from '../types.js'; import { type PnsSubgraphActions } from './decorators/subgraph.js'; export type PnsSubgraphClientConfig = Pick, 'batch' | 'key' | 'name' | 'pollingInterval' | 'transport'> & { chain: TChain; }; export type PnsSubgraphClient = Prettify>; /** * Creates a PNS 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 PnsSubgraphClientConfig} * @returns An PNS Subgraph Client. {@link PnsSubgraphClient} * * @example * import { http } from 'viem' * import { mainnet } from 'viem/chains' * import { createPnsSubgraphClient } from '@pnsdomains/pnsjs' * * const client = createPnsSubgraphClient({ * chain: mainnet, * transport: http(), * }) */ export declare const createPnsSubgraphClient: ({ batch, chain, key, name, transport, pollingInterval, }: PnsSubgraphClientConfig) => { account: undefined; batch?: { multicall?: boolean | { batchSize?: number | undefined; wait?: number | undefined; } | undefined; } | undefined; cacheTime: number; ccipRead?: false | { request?: ((parameters: import("viem").CcipRequestParameters) => Promise<`0x${string}`>) | undefined; } | undefined; chain: ChainWithPns; key: string; name: string; pollingInterval: number; request: import("viem").EIP1193RequestFn; transport: ReturnType["config"] & ReturnType["value"]; type: string; uid: string; getDecodedName: ({ name, allowIncomplete, }: import("../subgraph.js").GetDecodedNameParameters) => Promise; getNameHistory: ({ name, }: import("../subgraph.js").GetNameHistoryParameters) => Promise; getNamesForAddress: ({ address, filter, orderBy, orderDirection, pageSize, previousPage, }: import("../subgraph.js").GetNamesForAddressParameters) => Promise; getSubgraphRecords: ({ name, resolverAddress, }: import("../subgraph.js").GetSubgraphRecordsParameters) => Promise; getSubgraphRegistrant: ({ name, }: import("../subgraph.js").GetSubgraphRegistrantParameters) => Promise; getSubnames: ({ name, searchString, allowExpired, allowDeleted, orderBy, orderDirection, pageSize, previousPage, }: import("../subgraph.js").GetSubnamesParameters) => Promise; getReferralBlacklists: ({}: import("../subgraph.js").GetReferralBlacklistsParameters) => Promise; getReferralStats: ({ address, }: import("../subgraph.js").GetReferralStatsParameters) => Promise; getGracePeriodNames: ({}: import("../subgraph.js").GetGracePeriodNamesParameters) => Promise; extend: , undefined>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick, undefined>, "sendTransaction" | "writeContract">>>(fn: (client: Client, undefined, PublicRpcSchema, PnsSubgraphActions>) => client) => Client, undefined, PublicRpcSchema, { [K in keyof client]: client[K]; } & PnsSubgraphActions>; }; //# sourceMappingURL=subgraph.d.ts.map