import { Connection, Keypair, PublicKey, Signer, TransactionInstruction } from '@solana/web3.js'; import { bignum, InstructionsWithAccounts } from '../types'; export declare function approveTokenTransfer({ sourceAccount, owner, amount, }: { sourceAccount: PublicKey; owner: PublicKey; amount: bignum; }): [TransactionInstruction, Keypair]; export declare function createAssociatedTokenAccount({ tokenMint, tokenOwner, payer, }: { tokenMint: PublicKey; tokenOwner: PublicKey; payer: PublicKey; }): Promise<[TransactionInstruction, PublicKey]>; export declare function createMint(payer: PublicKey, mintRentExempt: number, decimals: number, mintAuthority: PublicKey, freezeAuthority: PublicKey): InstructionsWithAccounts<{ mintAccountPair: Keypair; mintAccount: PublicKey; }>; export declare function getMintRentExempt(connection: Connection): Promise; export declare function createUninitializedMint(payer: PublicKey, amount: number): [TransactionInstruction, Keypair, PublicKey]; export declare function mintTokens(mint: PublicKey, tokenAccount: PublicKey, mintAuthority: PublicKey, amount: bignum): TransactionInstruction; export declare function getTokenRentExempt(connection: Connection): Promise; export declare function createTokenAccount(payer: PublicKey, accountRentExempt: number, mint: PublicKey, owner: PublicKey): InstructionsWithAccounts<{ tokenAccountPair: Keypair; tokenAccount: PublicKey; }>; export declare function createUninitializedTokenAccount(payer: PublicKey, amount: number): [TransactionInstruction, Signer, { tokenAccountPair: Keypair; tokenAccount: PublicKey; }]; export declare function createVaultOwnedTokenAccount(connection: Connection, payer: PublicKey, vault: PublicKey, tokenMint: PublicKey): Promise>; export declare function pdaForVault(vault: PublicKey): Promise;