import type { SupportedTransactionVersions, TransactionOrVersionedTransaction, WalletName, WalletReadyState } from '@solana/wallet-adapter-base';
import type { PublicKey } from '@solana/web3.js';
import type { SolanaRelay } from './SolanaRelay';
import type { SolanaWalletAdapter } from './types';
/**
 * Wallet adapter that uses the Solana Relay Plugin on Discovery Node.
 *
 * Implementing this interface allows consumers to choose to pay for their own
 * transactions rather than using our relay, simply by using their own wallet
 * app's existing wallet adapter in place of this class.
 *
 * @see {@link https://github.com/solana-labs/wallet-standard/blob/master/WALLET.md wallet-standard}
 * @see {@link https://github.com/solana-labs/wallet-adapter/blob/master/packages/wallets/phantom/src/adapter.ts Phantom Wallet Adapter}
 */
export declare class SolanaRelayWalletAdapter implements SolanaWalletAdapter {
    readonly name: WalletName<"AudiusSolanaWallet">;
    readonly url = "";
    readonly icon = "";
    readonly readyState: WalletReadyState;
    readonly supportedTransactionVersions?: SupportedTransactionVersions;
    private readonly solanaRelay;
    private _publicKey;
    private _connecting;
    private _connected;
    constructor({ solanaRelay }: {
        solanaRelay: SolanaRelay;
    });
    get publicKey(): PublicKey | null;
    get connecting(): boolean;
    get connected(): boolean;
    autoConnect(): Promise<void>;
    /**
     * On connection, grabs the fee payer from the Discovery Node plugin.
     */
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    /**
     * Sends a transaction using the relay to Discovery Node.
     * @param transaction the transaction to send.
     */
    sendTransaction(transaction: TransactionOrVersionedTransaction<this['supportedTransactionVersions']>): Promise<string>;
}
