import { ApproveTokenDelegateAuthorityInput, CreateMintInput, CreateTokenInput, CreateTokenWithMintInput, FindMintByAddressInput, FindTokenByAddressInput, FindTokenWithMintByAddressInput, FindTokenWithMintByMintInput, FreezeTokensInput, GetTokenBalanceInput, MintTokensInput, RevokeTokenDelegateAuthorityInput, SendTokensInput, ThawTokensInput } from './operations'; import { TokenBuildersClient } from './TokenBuildersClient'; import { TokenPdasClient } from './TokenPdasClient'; import { Mint, Token, TokenWithMint } from './models'; import type { Convergence } from '../../Convergence'; import { OperationOptions, PublicKey } from '../../types'; /** * This is a client for the Token module. * * It enables us to interact with the SPL Token program in order to * create, send, freeze, thaw, and mint tokens. * * You may access this client via the `tokens()` method of your `Convergence` instance. * * ```ts * const tokenClient = convergence.tokens(); * ``` * * @example * You can create a new mint account with an associated token account like so. * The owner of this token account will, by default, be the current identity * of the convergence instance. * * ```ts * const { token } = await convergence.tokens().createTokenWithMint(); * ``` * * @group Modules */ export declare class TokenClient { protected readonly convergence: Convergence; constructor(convergence: Convergence); /** * You may use the `builders()` client to access the * underlying Transaction Builders of this module. * * ```ts * const buildersClient = convergence.tokens().builders(); * ``` */ builders(): TokenBuildersClient; /** * You may use the `pdas()` client to build PDAs related to this module. * * ```ts * const pdasClient = convergence.tokens().pdas(); * ``` */ pdas(): TokenPdasClient; /** {@inheritDoc findMintByAddressOperation} */ findMintByAddress(input: FindMintByAddressInput, options?: OperationOptions): Promise; /** {@inheritDoc findTokenByAddressOperation} */ findTokenByAddress(input: FindTokenByAddressInput, options?: OperationOptions): Promise; /** {@inheritDoc findTokenWithMintByAddressOperation} */ findTokenWithMintByAddress(input: FindTokenWithMintByAddressInput, options?: OperationOptions): Promise; /** {@inheritDoc findTokenWithMintByMintOperation} */ findTokenWithMintByMint(input: FindTokenWithMintByMintInput, options?: OperationOptions): Promise; /** {@inheritDoc createMintOperation} */ createMint(input?: CreateMintInput, options?: OperationOptions): Promise; /** * Create a new Token account from the provided input * and returns the newly created `Token` model. */ /** {@inheritDoc createTokenOperation} */ createToken(input: CreateTokenInput, options?: OperationOptions): Promise; /** {@inheritDoc createTokenWithMintOperation} */ createTokenWithMint(input?: CreateTokenWithMintInput, options?: OperationOptions): Promise; refreshMint(model: T, options?: OperationOptions): Promise; refreshToken(model: T, options?: OperationOptions): Promise; /** {@inheritDoc mintTokensOperation} */ mint(input: MintTokensInput, options?: OperationOptions): Promise; /** {@inheritDoc sendTokensOperation} */ send(input: SendTokensInput, options?: OperationOptions): Promise; /** {@inheritDoc freezeTokensOperation} */ freeze(input: FreezeTokensInput, options?: OperationOptions): Promise; /** {@inheritDoc thawTokensOperation} */ thaw(input: ThawTokensInput, options?: OperationOptions): Promise; /** {@inheritDoc approveTokenDelegateAuthorityOperation} */ approveDelegateAuthority(input: ApproveTokenDelegateAuthorityInput, options?: OperationOptions): Promise; /** {@inheritDoc revokeTokenDelegateAuthorityOperation} */ revokeDelegateAuthority(input: RevokeTokenDelegateAuthorityInput, options?: OperationOptions): Promise; /** {@inheritDoc getTokenBalanceOperation } */ getTokenBalance(input: GetTokenBalanceInput, options?: OperationOptions): Promise; }