/// import { PublicKey } from '@solana/web3.js'; import { Leg, BaseAssetIndex, QuoteAsset } from '@convergence-rfq/rfq'; import { Mint } from '../tokenModule'; import { LegInstrument, QuoteInstrument, CreateOptionInstrumentsResult } from '../instrumentModule'; import { Convergence } from '../../Convergence'; import { LegSide } from '../rfqModule/models/LegSide'; import { Protocol } from '../protocolModule'; type InstrumentData = { mintAddress: PublicKey; }; export declare const SpotInstrumentDataSerializer: import("../../types").Serializer; /** * This model captures all the relevant information about a spot * instrument on the Solana blockchain. * * @group Models */ export declare class SpotLegInstrument implements LegInstrument { readonly convergence: Convergence; readonly mintAddress: PublicKey; readonly baseAssetIndex: BaseAssetIndex; readonly instrumentIndex: number; readonly amount: number; readonly decimals: number; readonly side: LegSide; legType: 'escrow'; constructor(convergence: Convergence, mintAddress: PublicKey, baseAssetIndex: BaseAssetIndex, instrumentIndex: number, amount: number, decimals: number, side: LegSide); getInstrumentIndex: () => number; getProgramId: () => PublicKey; getBaseAssetIndex: () => BaseAssetIndex; getAssetMint: () => PublicKey; getSide: () => LegSide; getDecimals: () => number; getAmount: () => number; getPreparationsBeforeRfqCreation(): Promise; static create(convergence: Convergence, mint: Mint, amount: number, side?: LegSide): Promise; static deserializeInstrumentData(buffer: Buffer): InstrumentData; /** Helper method to get validation accounts for a spot instrument. */ getValidationAccounts(): { pubkey: import("../../types").Pda; isSigner: boolean; isWritable: boolean; }[]; /** Helper method to serialize the instrument data for this instrument. */ serializeInstrumentData(): Buffer; } export declare const spotLegInstrumentParser: { parseFromLeg(convergence: Convergence, leg: Leg, instrumentIndex: number): SpotLegInstrument; }; export declare class SpotQuoteInstrument implements QuoteInstrument { readonly convergence: Convergence; readonly instrumentIndex: number; readonly mintAddress: PublicKey; readonly decimals: number; protected constructor(convergence: Convergence, instrumentIndex: number, mintAddress: PublicKey, decimals: number); getInstrumentIndex: () => number; getAssetMint: () => PublicKey; getProgramId: () => PublicKey; getDecimals: () => number; static parseFromQuote(convergence: Convergence, protocol: Protocol, quote: QuoteAsset): QuoteInstrument; static create(convergence: Convergence, mint: Mint): Promise; static deserializeInstrumentData(buffer: Buffer): InstrumentData; /** Helper method to get validation accounts for a spot instrument. */ getValidationAccounts(): { pubkey: import("../../types").Pda; isSigner: boolean; isWritable: boolean; }[]; /** Helper method to serialize the instrument data for this instrument. */ serializeInstrumentData(): Buffer; } export {};