import { PublicKey } from "@solana/web3.js"; import { Artist, BrightSwitch } from "."; import { BurnerConfigArgs } from "../generated"; import { EditionInfos, EligibleByCriteria, NFT, Token } from "../types"; /** * Represents a Burner in your application. */ export declare class Burner { private _brightswitch; private _data; private _artist; private _address; private _metadata; constructor(_brightswitch: BrightSwitch, _data: BurnerConfigArgs, _artist: Artist, _address: PublicKey, _metadata: any | null); /** * Get the address of the Burner. * @returns The Burner's public key. */ address(): PublicKey; /** * Get the data associated with the Burner. * @returns The Burner's configuration data. */ data(): BurnerConfigArgs; /** * Get the BrightSwitch instance associated with this Burner. * @returns The BrightSwitch instance. */ brightswitch(): BrightSwitch; /** * Get the Artist instance associated with this Burner. * @returns The Artist instance. */ artist(): Artist; /** * Get the metadata associated with this Burner. * @returns The metadata of the collection. */ metadata(): any; /** * * @param nft - The NFT to check. * @returns - Whether the NFT is eligible to be burned by the Burner. */ private isElegible; /** * Get eligible assets based on the Burner's criteria. * @returns An array of eligible NFTs. */ getEligibleAssets(fetch?: boolean): Promise; /** * Burn multiple NFTs associated with the Burner. * @param nfts - An array of NFT mint public keys to burn. * @returns An array of burn operations. */ burnNFT(nfts: NFT[], editionInfos?: EditionInfos): Promise; /** * * @param mints - An array of NFT mint public keys to burn. * @returns - An array of burn operations. */ burnCNFT(mints: NFT[]): Promise; /** * @param tokens - An array of SPL tokens to burn. * @returns - An array of burn operations. */ burnSPLToken(token: Token & { burnedAmount: number; }): import("@honeycomb-protocol/hive-control").Operation; /** * Create a new Burner instance. * @param _brightswitch - The BrightSwitch instance associated with the Burner. * @param _data - The Burner's configuration data. * @param _address - The public key of the Burner's account. * @returns A new Burner instance. */ static new(_brightswitch: BrightSwitch, _data: BurnerConfigArgs, _address: PublicKey): Promise; /** * Create a Burner instance from a given address. * @param address - The public key of the Burner's account. * @param brightswitch - The BrightSwitch instance for managing Burners. * @param refetch - Whether to refetch the Burner data if cached. * @returns A Burner instance. */ static fromAddress(address: PublicKey, brightswitch: BrightSwitch, refetch?: boolean, onChain?: boolean): Promise; /** * Retrieve all Burners based on specified filters. * @param brightswitch - The BrightSwitch instance for managing Burners. * @param filters - Optional filters for querying Burners. * @returns An array of Burner instances. */ static allWithFilter(brightswitch: BrightSwitch, filters?: Partial, onChain?: boolean): Promise; } //# sourceMappingURL=burner.d.ts.map