/// import { Leg as SolitaLeg, QuoteAsset as SolitaQuoteAsset } from '@convergence-rfq/rfq'; import { AdditionalResponseData, PrintTrade, PrintTradeLeg, PrintTradeParser, PrintTradeQuote } from '../printTradeModule'; import { AuthoritySide, PrintTradeRfq, PrintTradeResponse } from '../rfqModule'; import { HxroLegInput, HxroProductInfo } from './types'; import { Convergence } from '../../Convergence'; import { PublicKey } from '../../types'; import { CvgCache, TransactionBuilderOptions } from '../../utils'; export declare class HxroPrintTrade implements PrintTrade { protected cvg: Convergence; takerTrg: PublicKey; protected legsInfo: HxroLegInput[]; constructor(cvg: Convergence, takerTrg: PublicKey, legsInfo: HxroLegInput[]); getHxroContextHelper: (cvg: Convergence, response: PrintTradeResponse, firstToPrepare: AuthoritySide) => Promise; getPrintTradeProviderProgramId: () => PublicKey; getLegs: () => HxroLeg[]; getQuote: () => HxroQuote; getValidationAccounts: () => Promise<{ pubkey: PublicKey; isSigner: boolean; isWritable: boolean; }[]>; getSettlementPreparations: (rfq: PrintTradeRfq, response: PrintTradeResponse, side: AuthoritySide, options: TransactionBuilderOptions) => Promise<{ accounts: { pubkey: any; isSigner: boolean; isWritable: boolean; }[]; builders: import("../../utils").TransactionBuilder<{}>[]; }>; getSettlementAccounts: (rfq: PrintTradeRfq, response: PrintTradeResponse) => Promise<{ pubkey: any; isSigner: boolean; isWritable: boolean; }[]>; getRevertPreparations: (rfq: PrintTradeRfq, response: PrintTradeResponse, side: AuthoritySide, options: TransactionBuilderOptions) => Promise<{ accounts: { pubkey: import("../../types").Pda; isSigner: boolean; isWritable: boolean; }[]; postBuilders: import("../../utils").TransactionBuilder<{}>[]; }>; getCleanUpAccounts: (rfq: PrintTradeRfq, response: PrintTradeResponse) => Promise<{ pubkey: any; isSigner: boolean; isWritable: boolean; }[]>; overwriteWithFullHxroProductData: (fullProductsData: HxroProductInfo[]) => void; getValidateResponseAccounts: (additionalData: AdditionalResponseData | undefined) => Promise<{ pubkey: PublicKey; isSigner: boolean; isWritable: boolean; }[]>; } export declare class HxroPrintTradeParser implements PrintTradeParser { parsePrintTrade(cvg: Convergence, legs: SolitaLeg[], quote: SolitaQuoteAsset): PrintTrade; } declare class HxroQuote implements PrintTradeQuote { takerTrg: PublicKey; constructor(takerTrg: PublicKey); getDecimals: () => number; serializeInstrumentData: () => Buffer; } export declare class HxroLeg implements PrintTradeLeg { legInfo: HxroLegInput; legType: 'printTrade'; constructor(legInfo: HxroLegInput); getInstrumentType: () => "option" | "term-future" | "perp-future"; getBaseAssetIndex: () => { value: number; }; getAmount: () => number; getDecimals: () => number; getSide: () => import("../rfqModule").LegSide; serializeInstrumentData: () => Buffer; } export declare class HxroAdditionalRespondData extends AdditionalResponseData { makerTrg: PublicKey; constructor(makerTrg: PublicKey); serialize(): Buffer; static deserialize(data: Uint8Array): HxroAdditionalRespondData; } export declare class HxroContextHelper { private cvg; manifest: any; mpg: any; private printTrade; private response; private firstToPrepare; creatorTrgData: CvgCache; counterpartyTrgData: CvgCache; operatorTrg: CvgCache; private constructor(); static create(cvg: Convergence, printTrade: HxroPrintTrade, response: PrintTradeResponse, firstToPrepare: AuthoritySide): Promise; getTakerTrg(): PublicKey; getMakerTrg(): PublicKey; getCreatorTrg(): PublicKey; getCounterpartyTrg(): PublicKey; getPrintTrade(): PublicKey; getDexProgramId(): any; getRiskAndFeeSigner(): PublicKey; getTrgBySide(side: AuthoritySide): PublicKey; getTrgDataBySide(side: AuthoritySide): CvgCache; } export {};