import type { IPNSPublishTarget } from '@wovin/core/ipns'; import { CID } from 'multiformats/cid'; import * as W3Name from 'w3name'; /** * Publish CID to IPNS, automatically handling increment vs v0. * Returns the revision for further processing (e.g., Kubo integration). */ export declare function publishIPNS(ipnsPrivateKey: Uint8Array, cid: CID): Promise; /** * Resolve the current IPNS sequence from a zt.ax-compatible naming service. * * The naming service API uses the simple W3NameRecord format: * `GET /` → `{ value: "/ipfs/", seq?: number, validity?: string }` * * Also supports the legacy w3name record format (`{ record: "", value: "..." }`) * for backward compatibility with hybrid services. */ export declare function resolveZtaxSequence(baseUrl: string, ipnsName: string): Promise; /** * Create an IPNSPublishTarget that publishes to a zt.ax naming service. * * Uses HTTP POST to publish signed IPNS records and HTTP GET to resolve * the current sequence number, following the same wire format as the * standard w3name API but at a configurable base URL. * * The naming service is expected to support: * - `POST /` — publish signed IPNS record (base64-encoded body) * - `GET /` — resolve current record (`{ value, seq?, record? }`) * * @param baseUrl - Base URL of the naming service (default: https://ipfs.zt.ax) */ export declare function ztaxTarget(baseUrl?: string): IPNSPublishTarget; /** * Create an IPNSPublishTarget for the w3name service. * * @deprecated w3name is shut down for publishing. This target is kept as a * read‑only backup for sequence resolution only (no publish method). * Use {@link ztaxTarget} for all publishing. * * @param serviceUrl - Base URL of the w3name-compatible service (default: https://name.web3.storage) */ export declare function w3nameTarget(serviceUrl?: string): IPNSPublishTarget; export declare function generateIpnsKey(): Promise; export declare function getW3NamePublic(pk: Uint8Array): Promise; //# sourceMappingURL=ipns-w3name.d.ts.map