import { AnchorProvider } from '@coral-xyz/anchor';
import { AddressLookupTableAccount, Commitment, Connection, Keypair, TransactionConfirmationStatus, TransactionError, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
import { TxCallbackOptions } from '../client';
export interface MangoSignatureStatus {
    confirmations?: number | null;
    confirmationStatus?: TransactionConfirmationStatus;
    err?: TransactionError | null;
    signature: TransactionSignature;
    slot?: number;
}
export interface LatestBlockhash {
    slot: number;
    blockhash: string;
    lastValidBlockHeight: number;
}
export interface LatestBlockhash {
    slot: number;
    blockhash: string;
    lastValidBlockHeight: number;
}
export type SendTransactionOpts = Partial<{
    preflightCommitment: Commitment;
    latestBlockhash: Readonly<LatestBlockhash>;
    prioritizationFee: number;
    estimateFee: boolean;
    additionalSigners: Keypair[];
    postSendTxCallback: (callbackOpts: TxCallbackOptions) => void;
    postTxConfirmationCallback: (callbackOpts: TxCallbackOptions) => void;
    txConfirmationCommitment: Commitment;
    confirmInBackground: boolean;
    alts: AddressLookupTableAccount[];
    multipleConnections: Connection[];
}>;
export declare function sendTransaction(provider: AnchorProvider, ixs: TransactionInstruction[], alts: AddressLookupTableAccount[], opts?: SendTransactionOpts): Promise<MangoSignatureStatus>;
export declare function fetchLatestBlockHash(provider: AnchorProvider, opts?: SendTransactionOpts): Promise<LatestBlockhash>;
export declare const createComputeBudgetIx: (microLamports: number) => TransactionInstruction;
export declare class MangoError extends Error {
    message: string;
    txid: string;
    constructor({ txid, message }: {
        txid: any;
        message: any;
    });
}
//# sourceMappingURL=rpc.d.ts.map