import { RouteResponse, Token } from "@0xsquid/squid-types";
import { Connection } from "@solana/web3.js";
import { Wallet as StandardWallet } from "@wallet-standard/core";
import { SolanaConnector } from "../../core/types/solana";
import { SolanaWallet } from "../../core/types/wallet";
export declare function filterSolanaWallets(standardWallets: readonly StandardWallet[]): SolanaWallet[];
export declare const isSolanaAddressValid: (address: string) => boolean;
/**
 * Execute a Solana swap transaction
 * This will be used for the swap flow - Using Jupiter Dex under the hood
 */
export declare const executeSolanaSwap: ({ route, signer, connection, onSigned, }: {
    route: RouteResponse["route"];
    signer: SolanaConnector;
    connection: Connection;
    onSigned?: ((signature: string) => void) | undefined;
}) => Promise<string>;
/**
 * Execute a Solana transfer transaction for both native SOL and SPL tokens
 * @param amount - Amount to transfer in raw units (lamports for SOL, raw token units for SPL)
 * @param target - Target wallet address
 * @param signer - Solana wallet adapter instance
 * @param connection - Solana RPC connection
 * @param sourceToken - Token information (undefined for native SOL)
 * @param onSigned - Optional callback triggered when transaction is signed
 * @returns Transaction signature
 */
export declare const executeSolanaTransfer: ({ amount, target, signer, connection, sourceToken, onSigned, }: {
    amount: bigint;
    target: string;
    signer: SolanaConnector;
    connection: Connection;
    sourceToken?: Token | undefined;
    onSigned?: ((signature: string) => void) | undefined;
}) => Promise<string>;
