import type { createHelia } from "helia"; import type { HeliaWithKuboRpcClientFunctions, HeliaWithLibp2pPubsub, IpnsPushChannelState } from "./types.js"; import type { unixfs } from "@helia/unixfs"; import type { ipns } from "@helia/ipns"; import type { ParsedPKCOptions } from "../types.js"; type Libp2pJsClientInit = { helia: HeliaWithLibp2pPubsub; heliaUnixfs: ReturnType; heliaIpnsRouter: ReturnType; heliaWithKuboRpcClientFunctions: HeliaWithKuboRpcClientFunctions; libp2pJsClientsOptions: NonNullable[number]; mergedHeliaOptions: Parameters[0]; key: string; countOfUsesOfInstance: number; ipnsPushChannel: IpnsPushChannelState; }; export declare class Libp2pJsClient { _helia: HeliaWithLibp2pPubsub; _heliaUnixfs: ReturnType; _heliaIpnsRouter: ReturnType; heliaWithKuboRpcClientFunctions: HeliaWithKuboRpcClientFunctions; _libp2pJsClientsOptions: NonNullable[number]; _mergedHeliaOptions: Omit[0]>, "http"> | undefined; key: Libp2pJsClientInit["key"]; countOfUsesOfInstance: number; _ipnsPushChannel: IpnsPushChannelState; /** * The running Helia node backing this libp2p-js client — the public, semver-covered way for * consumers that share the node (e.g. @bitsocial/pubsub-voting, bitsocial-seeder) to reach it, * instead of the private `_helia` field (issue #221). * * The returned node is guaranteed to carry, in addition to Helia's own surface: * - `libp2p.services.pubsub` — the gossipsub service registered at node construction * - `libp2p.services.fetch` — the `@libp2p/fetch` service registered at node construction * - `blockstore` — the node's block storage (bitswap-backed retrieval) * - `libp2p.contentRouting` — the delegated-routing aggregation over `httpRoutersOptions` * * A breaking change to what this accessor returns is a breaking pkc-js release. */ get heliaNode(): HeliaWithLibp2pPubsub; constructor(libp2pJsClientOptions: Libp2pJsClientInit); } export {};