import { Honeycomb, Module } from "@honeycomb-protocol/hive-control"; import { ConfirmOptions, PublicKey } from "@solana/web3.js"; import { Artist, Burner, Switch } from "."; import { CreateArtistIxArgs, UpdateArtistIxArgs } from "../operations"; import { RemoveArtistIxArgs } from "../operations/removeArtist"; import { NETWORK, NFT, Token } from "../types"; declare module "@honeycomb-protocol/hive-control" { interface Honeycomb { bright(): BrightSwitch; } } interface CacheInterface { artist: Artist; burner: Burner; metadata: NFT; userBalanceOfArtist: number; burnersOfArtist: Burner[]; switchesOfArtist: Switch[]; switch: Switch; nfts: NFT[]; tokens: Token[]; } /** * Represents an object responsible for managing the manipulation of artists, switches, and burners. */ export declare class BrightSwitch extends Module { private _heliusRpc; private _network; readonly programId: PublicKey; private _nfts; private _tokens; private _create; private _update; private _remove; /** * Creates an instance of BrightSwitch. * @param _heliusRpc - The RPC endpoint for Helius. * @param programId - The Solana program ID (default is PROGRAM_ID). */ constructor(_heliusRpc: string, _network?: NETWORK, programId?: PublicKey); /** * Install the BrightSwitch module into the Honeycomb instance. * @param honeycomb - The Honeycomb instance to install the module into. * @returns The modified Honeycomb instance. */ install(honeycomb: Honeycomb): Honeycomb; /** * Get the RPC endpoint for Helius. * @returns The Helius RPC endpoint. */ rpc(): string; /** * Get the network for Helius. * @returns The SOLANA network. */ network(): NETWORK; /** * Get an instance of BrightSwitchCreate for creating switches and burners. * @returns An instance of BrightSwitchCreate. */ create(): BrightSwitchCreate; /** * Get an instance of BrightSwitchUpdate for updating artists. * @returns An instance of BrightSwitchUpdate for updating artists. */ update(): BrightSwitchUpdate; /** * Get an instance of BrightSwitchRemove for removing artists. * @returns An instance of BrightSwitchRemove for removing artists. */ remove(): BrightSwitchRemove; artists(): Promise; /** * Load the assets of the user associated with this BrightSwitch instance. * @param fetch - Whether to fetch the assets if not already fetched. * @throws Error if no identity is found. * @returns A promise that resolves to an array of NFT instances. */ loadUsersAssets(fetch?: boolean): Promise; /** * @param fetch - Whether to fetch the assets if not already fetched. * @throws Error if no identity is found. * @returns A promise that resolves to an array of Tokens */ loadUsersTokens(fetch?: boolean): Promise; } /** * Represents an object responsible for creating artists, switches, and burners using BrightSwitch. */ declare class BrightSwitchCreate { private _bright; constructor(_bright: BrightSwitch); /** * Create a new artist using BrightSwitch. * @param args - Configuration options for creating the artist. * @param confirmOptions - Options for confirming the artist creation operation. * @returns A promise that resolves to a new Artist instance. */ artist(args: CreateArtistIxArgs, confirmOptions: Omit): Promise; } /** * Represents an object responsible for updating artists using BrightSwitch. */ declare class BrightSwitchUpdate { private _bright; constructor(_bright: BrightSwitch); /** * Update an artist using BrightSwitch. * @param args - Configuration options for updating the artist. * @param confirmOptions - Options for confirming the artist creation operation. * @returns A promise that resolves to a new Artist instance. */ artist(args: UpdateArtistIxArgs, confirmOptions: Omit): Promise; } /** * Represents an object responsible for removing artists using BrightSwitch. */ declare class BrightSwitchRemove { private _bright; constructor(_bright: BrightSwitch); /** * Remove an artist using BrightSwitch. * @param args - Configuration options for removing the artist. * @param confirmOptions - Options for confirming the artist creation operation. * @returns A promise that resolves to a new Artist instance. */ artist(args: RemoveArtistIxArgs, confirmOptions: Omit): Promise; } export {}; //# sourceMappingURL=brightswitch.d.ts.map