/// <reference types="node" />
import { Connection, Keypair, SendOptions, Transaction } from '@solana/web3.js';
import { Network, SignAndSendSigner, SignOnlySigner, Signer, UnsignedTransaction } from '@wormhole-foundation/connect-sdk';
import { SolanaChains } from './types';
import { SolanaUnsignedTransaction } from './unsignedTransaction';
export declare function getSolanaSigner(rpc: Connection, privateKey: string): Promise<Signer>;
export declare function getSolanaSignAndSendSigner(rpc: Connection, privateKey: string, opts?: {
    debug?: boolean;
    sendOpts?: SendOptions;
    priorityFeeAmount?: bigint;
    computeLimit?: bigint;
}): Promise<Signer>;
export declare class SolanaSigner<N extends Network, C extends SolanaChains = 'Solana'> implements SignOnlySigner<N, C> {
    private _chain;
    private _keypair;
    private _rpc;
    private _debug;
    constructor(_chain: C, _keypair: Keypair, _rpc: Connection, _debug?: boolean);
    chain(): C;
    address(): string;
    sign(tx: SolanaUnsignedTransaction<N>[]): Promise<Buffer[]>;
}
export declare class SolanaSendSigner<N extends Network, C extends SolanaChains = 'Solana'> implements SignAndSendSigner<N, C> {
    private _rpc;
    private _chain;
    private _keypair;
    private _debug;
    private _sendOpts?;
    private _priotifyFeeAmount?;
    private _computeUnitLimit?;
    constructor(_rpc: Connection, _chain: C, _keypair: Keypair, _debug?: boolean, _sendOpts?: SendOptions | undefined, _priotifyFeeAmount?: bigint | undefined, _computeUnitLimit?: bigint | undefined);
    chain(): C;
    address(): string;
    private retryable;
    signAndSend(tx: UnsignedTransaction[]): Promise<any[]>;
}
export declare function logTxDetails(transaction: Transaction): void;
//# sourceMappingURL=signer.d.ts.map