/// import * as anchor from '@coral-xyz/anchor'; import { AnchorProvider, Program } from '@coral-xyz/anchor'; import { Account } from '@solana/spl-token'; import { ConfirmOptions, Connection, PublicKey, TransactionInstruction, TransactionSignature } from '@solana/web3.js'; import { BN } from '.'; import { IWallet } from './types'; export declare class TokenFaucet { connection: Connection; wallet: IWallet; program: Program; provider: AnchorProvider; mint: PublicKey; opts?: ConfirmOptions; constructor(connection: Connection, wallet: IWallet, programId: PublicKey, mint: PublicKey, opts?: ConfirmOptions); getFaucetConfigPublicKeyAndNonce(): Promise<[ PublicKey, number ]>; getMintAuthority(): Promise; getFaucetConfigPublicKey(): Promise; initialize(): Promise; fetchState(): Promise; private mintToUserIx; mintToUser(userTokenAccount: PublicKey, amount: BN): Promise; transferMintAuthority(): Promise; createAssociatedTokenAccountAndMintTo(userPublicKey: PublicKey, amount: BN): Promise<[PublicKey, TransactionSignature]>; createAssociatedTokenAccountAndMintToInstructions(userPublicKey: PublicKey, amount: BN): Promise<[PublicKey, TransactionInstruction, TransactionInstruction]>; getAssosciatedMockUSDMintAddress(props: { userPubKey: PublicKey; }): Promise; getTokenAccountInfo(props: { userPubKey: PublicKey; }): Promise; subscribeToTokenAccount(props: { userPubKey: PublicKey; callback: (accountInfo: Account) => void; }): Promise; }