import * as web3 from "@solana/web3.js"; import * as beet from "@metaplex-foundation/beet"; import { Honeycomb, Module } from "@honeycomb-protocol/hive-control"; import { Asset, AssetManager, CreateAssetArgs as CreateAssetArgsChain } from "./generated"; import { CreateCandyGuardBuilderContext, TransactionBuilder } from "@metaplex-foundation/js"; declare module "@honeycomb-protocol/hive-control" { interface Honeycomb { assetManager(): AssetHubManager; } } type CreateAssetArgs = { args: CreateAssetArgsChain; candyGuardBuilder?: TransactionBuilder; }; export declare class AssetHubManager extends Module { readonly assetManagerAddress: web3.PublicKey; private _assetManager; readonly programId: web3.PublicKey; private _proofIndex; private _fetch; private _create; private _assets; constructor(assetManagerAddress: web3.PublicKey, _assetManager: AssetManager); static fromAddress(connection: web3.Connection, assetManager: web3.PublicKey): Promise; static new(honeycomb: Honeycomb): Promise; honeycomb(): Honeycomb; assetManager(): AssetManager; proofIndex(): number; fetch(): AssetManagerFetch; create(): AssetManagerCreate; loadAssets(): Promise; assets(): AssetManagerAsset[]; addAsset(asset: AssetManagerAsset): this; install(honeycomb: Honeycomb): Honeycomb; } export declare class AssetManagerFetch { private _assetManager; constructor(assetManager: AssetHubManager); asset(assetAddress: web3.PublicKey): Promise; assets(): Promise; } export declare class AssetManagerCreate { private _assetManager; constructor(assetManager: AssetHubManager); assetManager(): AssetHubManager; asset(args: CreateAssetArgs): Promise; } export declare class AssetManagerAsset { private _assetManager; readonly assetAddress: web3.PublicKey; private _asset; readonly bump: number; readonly candyGuard: beet.COption; readonly mintAddress: web3.PublicKey; readonly supply: beet.bignum; readonly itemsRedeemed: beet.bignum; readonly uri: string; constructor(_assetManager: AssetHubManager, assetAddress: web3.PublicKey, _asset: Asset); static fromAddress(assetManager: AssetHubManager, assetAddress: web3.PublicKey): Promise; assetManager(): AssetHubManager; asset(): Asset; reload(): Promise; mint(amount: number): Promise; } export declare const assetAssemblerModule: (honeycomb: Honeycomb, args?: web3.PublicKey) => Promise; export {};