import { Account } from '@solana/spl-token'; import { TransactionInstruction } from '@solana/web3.js'; import { CreateMemoInstructionRequest, CreatePurchaseContentInstructionsRequest, CreateRouteInstructionRequest, CreateTransferInstructionRequest, GetOrCreateProgramTokenAccountRequest, PaymentRouterClientConfig } from './types'; export declare class PaymentRouterClient { private readonly client; private readonly programId; /** The intermediate account where funds are sent to and routed from. */ private readonly programAccount; private readonly programAccountBumpSeed; private readonly mints; private existingTokenAccounts; constructor(config: PaymentRouterClientConfig); createTransferInstruction(params: CreateTransferInstructionRequest): Promise; createRouteInstruction(params: CreateRouteInstructionRequest): Promise; createPurchaseMemoInstruction(params: CreateMemoInstructionRequest): Promise; createPurchaseContentInstructions(params: CreatePurchaseContentInstructionsRequest): Promise; /** * Creates or gets the intermediate funds token account for the program. * Only needs to be created once per mint. * @see {@link https://github.com/solana-labs/solana-program-library/blob/d72289c79a04411c69a8bf1054f7156b6196f9b3/token/js/src/actions/getOrCreateAssociatedTokenAccount.ts getOrCreateAssociatedTokenAccount} */ getOrCreateProgramTokenAccount(params: GetOrCreateProgramTokenAccountRequest): Promise; }