import { BN, Program, web3 } from "@project-serum/anchor"; import { EuroMetaV2, OptionTypeV2, CollateralType } from "../types"; import { EuroPrimitive } from "../euro_primitive"; import { Signer } from "@solana/web3.js"; export declare const createEuroMetaV2Builder: (program: Program, payer: web3.PublicKey, euroMetaKey: web3.PublicKey, expirationDataKey: web3.PublicKey, euroMeta: EuroMetaV2) => import("@project-serum/anchor/dist/cjs/program/namespace/methods").MethodsBuilder; /** * Simple high level function to create a new EuroMeta V2 * * @param program : EuroPrimitive Program * @param payer : The address paying for the transaction * @param underlyingMint : The mint of the underlying asset * @param underlyingDecimals : The decimal represented in the underlying collateral * @param stableMint : The mint of the stable asset * @param stableDecimals : The decimals represented in the stable asset * @param expiration : The time of expiration of the EuroMeta * @param underlyingAmountPerContract : The amount of underlying per contract * @param priceDecimals : The decimals represented in the price(s) * @param strikePrices : Array of strike prices according to strategy * @param oracle : The price oracle pubkey being used * @param optionType : option type V2 for the EuroMeta * @param collateralType : collateral type for the EuroMeta * @param signers : [payer] * @param oracleProviderId : The id of the price oracle * @returns : euroMetaV2 type * @returns : the pubkey of euroMeta * @returns : the pubkey of expiration data **/ export declare const createEuroMetaV2Rpc: (program: Program, payer: web3.PublicKey, underlyingMint: web3.PublicKey, underlyingDecimals: number, stableMint: web3.PublicKey, stableDecimals: number, expiration: BN, underlyingAmountPerContract: BN, priceDecimals: number, strikePrices: BN[], oracle: web3.PublicKey, optionType: OptionTypeV2, collateralType: CollateralType, signers: Signer[], oracleProviderId?: number) => Promise<{ euroMeta: EuroMetaV2; euroMetaKey: web3.PublicKey; expirationDataKey: web3.PublicKey; }>; /** * Simple high level instruction to create a new EuroMeta V2 * * @param program : EuroPrimitive Program * @param payer : The address paying for the transaction * @param underlyingMint : The mint of the underlying asset * @param underlyingDecimals : The decimal represented in the underlying collateral * @param stableMint : The mint of the stable asset * @param stableDecimals : The decimals represented in the stable asset * @param expiration : The time of expiration of the EuroMeta * @param underlyingAmountPerContract : The amount of underlying per contract * @param strikePrices : Array of strike prices according to strategy * @param priceDecimals : The decimals represented in the price(s) * @param oracle : The price oracle pubkey being used * @param optionType : option type V2 for the EuroMeta * @param collateralType : collateral type for the EuroMeta * @param oracleProviderId : The id of the price oracle * @returns euroMeta : euroMetaV2 type * @returns euroMetaPubkey : the pubkey of euroMeta * @returns expirationDataKey : the pubkey of expiration data * @returns instruction : the instruction to invoke */ export declare const createEuroMetaV2Instruction: (program: Program, payer: web3.PublicKey, underlyingMint: web3.PublicKey, underlyingDecimals: number, stableMint: web3.PublicKey, stableDecimals: number, expiration: BN, underlyingAmountPerContract: BN, priceDecimals: number, strikePrices: BN[], oracle: web3.PublicKey, optionType: OptionTypeV2, collateralType: CollateralType, oracleProviderId?: number) => Promise<{ euroMeta: EuroMetaV2; euroMetaKey: web3.PublicKey; expirationDataKey: web3.PublicKey; instruction: Promise; }>; //# sourceMappingURL=createEuroMeta.d.ts.map