import { AccountMeta, PublicKey, Transaction } from '@solana/web3.js';
import { IgpPaymentKeys } from '../../gas/adapters/SealevelIgpAdapter.js';
import type { IHypCrossCollateralAdapter, TransferRemoteToParams } from './ITokenAdapter.js';
import { SealevelHypCollateralAdapter } from './SealevelTokenAdapter.js';
export declare class SealevelHypCrossCollateralAdapter extends SealevelHypCollateralAdapter implements IHypCrossCollateralAdapter<Transaction> {
    deriveCrossCollateralStatePda(): PublicKey;
    deriveCrossCollateralDispatchAuthorityPda(): PublicKey;
    quoteTransferRemoteToGas(params: Parameters<IHypCrossCollateralAdapter<Transaction>['quoteTransferRemoteToGas']>[0]): Promise<{
        igpQuote: {
            amount: bigint;
        };
    }>;
    getTransferRemoteToRemoteKeyList({ sender, mailbox, randomWallet, igp, }: {
        sender: PublicKey;
        mailbox: PublicKey;
        randomWallet: PublicKey;
        igp?: IgpPaymentKeys;
    }): Promise<Array<AccountMeta>>;
    simulateHandleLocalAccountMetas({ targetProgram, senderProgram, amount, recipient, payer, }: {
        targetProgram: PublicKey;
        senderProgram: PublicKey;
        amount: bigint;
        recipient: Uint8Array;
        payer: PublicKey;
    }): Promise<Array<AccountMeta>>;
    getTransferRemoteToLocalKeyList({ sender, targetProgram, senderProgram, amount, recipient, }: {
        sender: PublicKey;
        targetProgram: PublicKey;
        senderProgram: PublicKey;
        amount: bigint;
        recipient: Uint8Array;
    }): Promise<Array<AccountMeta>>;
    populateTransferRemoteToTx({ amount, destination, recipient, fromAccountOwner, targetRouter, extraSigners, }: TransferRemoteToParams): Promise<Transaction>;
    private createTransferRemoteToTx;
}
//# sourceMappingURL=SealevelCrossCollateralAdapter.d.ts.map