import { Keypair, PublicKey, Connection, Signer, Transaction, Commitment, Finality, VersionedTransaction, VersionedTransactionResponse } from '@solana/web3.js';
import { PriorityFee, TransactionResult } from '../types/common';
/**
 * Generates a Solana vanity address that ends with "pump".
 * @returns {Keypair} The generated Keypair.
 */
export declare function generateVanityAddress(): Promise<Keypair>;
export declare function mintTokenTo(connection: Connection, tokenMint: PublicKey, mintAuthority: Signer, payer: Signer, to: PublicKey, amount: number): Promise<string>;
export declare function wrappedSOLInstruction(connection: Connection, recipient: PublicKey, amount: number): Promise<Transaction>;
export declare function getOrCreateTokenAccountTx(connection: Connection, mint: PublicKey, payer: PublicKey, owner: PublicKey): Promise<{
    tokenAccount: PublicKey;
    tx: Transaction | null;
}>;
export declare function isToken2022Mint(connection: Connection, mint: PublicKey): Promise<boolean>;
export declare const calculateWithSlippageBuy: (amount: BigNumber, basisPoints: number) => BigNumber;
export declare const calculateWithSlippageSell: (amount: BigNumber, basisPoints: number) => BigNumber;
export declare function sendTx(connection: Connection, tx: Transaction, payer: PublicKey, signers: Keypair[], priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
export declare const buildVersionedTx: (connection: Connection, payer: PublicKey, tx: Transaction, commitment?: Commitment) => Promise<VersionedTransaction>;
export declare const getTxDetails: (connection: Connection, sig: string, commitment?: Commitment, finality?: Finality) => Promise<VersionedTransactionResponse | null>;
export declare const getBalanceChange: (connection: Connection, txHash: string, accountPubkey: PublicKey) => Promise<{
    preBalance: number;
    postBalance: number;
    balanceChange: number;
}>;
