import { Hex } from "viem"; import { Aggregator, Quote, QuoteRequestExactInput, QuoteRequestExactOutput } from "./iface"; export type BebopCommonQuote = { type: string; status: string; quoteId: string; chainId: number; approvalType: string; nativeToken: string; taker: string; receiver: string; expiry: number; slippage: number; gasFee: { native: string; usd: number; }; buyTokens: Record; sellTokens: Record; settlementAddress: string; approvalTarget: string; requiredSignatures: Array; priceImpact: number; warnings: Array; tx: { from: Hex; to: Hex; value: Hex; data: Hex; gas: number; }; }; export type BebopPMMv3Quote = { type: "PMMv3"; quote: BebopCommonQuote & { makers: Array; toSign: { partner_id: number; expiry: number; taker_address: string; maker_address: string; maker_nonce: string; taker_token: string; maker_token: string; taker_amount: string; maker_amount: string; receiver: string; packed_commands: string; }; onchainOrderType: string; tx: BebopCommonQuote["tx"] & { gasPrice: number; chainId: number; }; }; }; export type BebopJAMv2Quote = { type: "JAMv2"; quote: BebopCommonQuote & { hooksHash: string; toSign: { taker: string; receiver: string; expiry: number; exclusivityDeadline: number; nonce: string; executor: string; partnerInfo: string; sellTokens: Array; buyTokens: Array; sellAmounts: Array; buyAmounts: Array; hooksHash: string; }; solver: string; }; }; export type BebopQuote = Quote & { originalResponse: BebopPMMv3Quote | BebopJAMv2Quote; }; export declare class BebopAggregator implements Aggregator { private static readonly BASE_URL; private static readonly COMMON_OPTIONS; private readonly axios; constructor(apiKey: string); getQuotes(requests: (QuoteRequestExactInput | QuoteRequestExactOutput)[]): Promise<(BebopQuote | null)[]>; }