import { ZkBagContractOptions } from "./links/zk-bag.mjs"; import { ZkSendLinkBuilder } from "./links/builder.mjs"; import { ZkSendLink } from "./links/claim.mjs"; import { Transaction } from "@mysten/sui/transactions"; import { Keypair } from "@mysten/sui/cryptography"; import { ClientWithCoreApi, SuiClientRegistration } from "@mysten/sui/client"; //#region src/client.d.ts type ZkSendCompatibleClient = ClientWithCoreApi; interface ZkSendOptions { name?: Name; host?: string; path?: string; claimApi?: string; contract?: ZkBagContractOptions; } interface LinkBuilderOptions { sender: string; keypair?: Keypair; } type LoadLinkOptions = { address: string; keypair?: never; } | { keypair: Keypair; address?: never; }; declare class ZkSendClient { #private; constructor(client: ZkSendCompatibleClient, options?: Omit); linkBuilder(options: LinkBuilderOptions): ZkSendLinkBuilder; createLinks(options: { links: ZkSendLinkBuilder[]; transaction?: Transaction; }): Promise; /** * Get a link without loading its assets (synchronous) */ getLink(options: LoadLinkOptions): ZkSendLink; /** * Load a link and its assets */ loadLink(options: LoadLinkOptions): Promise; /** * Get a link from a URL without loading assets (synchronous) */ getLinkFromUrl(url: string): ZkSendLink; /** * Load a link from a URL and its assets */ loadLinkFromUrl(url: string): Promise; } declare function zksend({ name, ...options }?: ZkSendOptions): SuiClientRegistration; //#endregion export { LinkBuilderOptions, LoadLinkOptions, ZkSendClient, ZkSendCompatibleClient, ZkSendOptions, zksend }; //# sourceMappingURL=client.d.mts.map