import { CreateClient, CreateModule } from "@honeycomb-protocol/hive-control"; import { ConfirmOptions, Keypair, PublicKey } from "@solana/web3.js"; import { CreateCurrencyArgs } from "../generated"; import { HplCurrency } from ".."; /** * Extends the CreateModule interface with the `currencyManager` method to access the CurrencyManagerCreateClient. */ declare module "@honeycomb-protocol/hive-control" { interface CreateModule { currencyManager(): CurrencyManagerCreateClient; } } /** * Represents the Fetch Module which contains boiler plates for creating HiveControl accounts. * @category Modules */ export declare class CurrencyManagerCreateClient extends CreateClient { /** * Creates a new instance of the CurrencyManagerCreateClient. */ constructor(); /** * Creates a new Currrency. * @param args The arguments for creating the currency. * @param confirmOptions Optional confirm options for the transaction. */ currency(args: CreateCurrencyArgs | { mint: PublicKey; mintAuthority: PublicKey | Keypair; freezeAuthority: PublicKey | Keypair; }, confirmOptions?: ConfirmOptions): Promise<{ currency: PublicKey; context: import("@honeycomb-protocol/hive-control").ConfirmedContext; }>; /** * Creates a new holder account for the given owner. * @param currency The `HplCurrency` instance to create the holder account for. * @param owner The owner of the holder account. * @param confirmOptions Optional confirm options for the transaction. */ holderAccount(currency: HplCurrency, owner: PublicKey, confirmOptions?: ConfirmOptions): Promise<{ holderAccount: PublicKey; tokenAccount: PublicKey; context: import("@honeycomb-protocol/hive-control").ConfirmedContext; }>; /** * Installs the CreateClient into the Create Module instance. * * @param createModule - The Create Module instance to install the module into. * @returns The modified Create Module instance with the CreateClient installed. */ install(createModule: CreateModule): CreateModule; } /** * Factory function to create a new instance of the CurrencyManagerCreateClient. * @category Factory * @returns A new instance of the CurrencyManagerCreateClient. */ export declare const currencyManagerCreate: () => CurrencyManagerCreateClient;