import { BN } from "@coral-xyz/anchor";
import { AccountMeta, Commitment, Connection, PublicKey } from "@solana/web3.js";
import { BigNumber } from "ethers";
import { calculateRelayHashUint8Array, findProgramAddress, readEvents, readProgramEvents, RpcClient } from "../../src/svm";
import { MerkleTree } from "@uma/common";
import { RelayerRefundLeafType } from "../../src/types/svm";
export { calculateRelayHashUint8Array, findProgramAddress, readEvents, readProgramEvents };
export declare function printLogs(connection: any, program: any, tx: any): Promise<void>;
export declare function randomAddress(): string;
export declare function randomBigInt(bytes?: number, signed?: boolean): bigint;
export declare function buildRelayerRefundMerkleTree({ totalEvmDistributions, totalSolanaDistributions, mixLeaves, chainId, mint, svmRelayers, evmRelayers, evmTokenAddress, evmRefundAmounts, svmRefundAmounts, }: {
    totalEvmDistributions: number;
    totalSolanaDistributions: number;
    chainId: number;
    mixLeaves?: boolean;
    mint?: PublicKey;
    svmRelayers?: PublicKey[];
    evmRelayers?: string[];
    evmTokenAddress?: string;
    evmRefundAmounts?: BigNumber[];
    svmRefundAmounts?: BN[];
}): {
    relayerRefundLeaves: RelayerRefundLeafType[];
    merkleTree: MerkleTree<RelayerRefundLeafType>;
};
export declare function testAcrossPlusMessage(): {
    encodedMessage: Buffer;
    fillRemainingAccounts: AccountMeta[];
};
export declare const createDefaultSolanaClient: () => {
    rpc: import("@solana/kit").Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & import("@solana/kit").GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
    rpcSubscriptions: import("@solana/kit").RpcSubscriptions<import("@solana/rpc-subscriptions-api").SolanaRpcSubscriptionsApi>;
};
export declare const generateKeyPairSignerWithSol: (rpcClient: RpcClient, putativeLamports?: bigint) => Promise<import("@solana/kit").KeyPairSigner<string>>;
export declare const requestAndConfirmAirdrop: (connection: Connection, to: PublicKey, lamports: number, commitment?: Commitment) => Promise<void>;
