import { type Address, type ChainId } from "../types/index.js"; import { type DcaOrder } from "../dca/interface.js"; export declare const DEFAULT_EKUBO_DCA_API_BASE = "https://prod-api.ekubo.org"; export declare const MINIMUM_START_DELAY_SECONDS = 64; export interface EkuboOrderKey { sellToken: Address; buyToken: Address; fee: bigint; startTime: number; endTime: number; } export interface EkuboApiOrder { key: { sell_token: string; buy_token: string; fee: string; start_time: number; end_time: number; }; total_proceeds_withdrawn: string; sale_rate: string; last_collect_proceeds: number | null; total_amount_sold: string; } export interface EkuboApiOrderGroup { chain_id: string; nft_address: string; token_id: string; orders: EkuboApiOrder[]; } export interface EkuboApiOrdersResponse { orders: EkuboApiOrderGroup[]; pagination: { page: number; pageSize: number; totalPages: number; totalItems: number; }; } export interface EkuboApiPool { fee: string; extension: string; } export interface EkuboApiPoolsResponse { topPools: EkuboApiPool[]; } export interface EkuboOnChainOrderInfo { saleRate: bigint; remainingSellAmount: bigint; purchasedAmount: bigint; } export interface ParsedEkuboOrderId { positions: Address; tokenId: bigint; orderKey: EkuboOrderKey; } export interface EkuboOrderDescriptor { apiOrder: EkuboApiOrder; orderId: string; parsedOrderId: ParsedEkuboOrderId; } export declare function assertNonNegativeInteger(value: number, label: string): void; export declare function assertFitsU128(value: bigint, label: string): void; export declare function toEkuboApiChainId(chainId: ChainId): string; export declare function parsePositiveBigInt(value: unknown, label: string): bigint; export declare function parseEkuboOrdersResponse(payload: unknown): EkuboApiOrdersResponse; export declare function parseEkuboPoolsResponse(payload: unknown): EkuboApiPoolsResponse; export declare function parseIsoDurationSeconds(value: string): number; export declare function alignEkuboTime(now: number, target: number): number; export declare function encodeEkuboOrderId(params: { positions: Address; tokenId: bigint; orderKey: EkuboOrderKey; }): string; export declare function decodeEkuboOrderId(orderId: string): ParsedEkuboOrderId; export declare function toOrderInfoCalldata(order: ParsedEkuboOrderId): string[]; export declare function parseOrderInfoResult(result: string[]): EkuboOnChainOrderInfo; /** * Parse the result of `get_orders_info`. * * The on-chain response always includes a leading array-length prefix followed * by 3 felt252 values per order (saleRate, remainingSellAmount, purchasedAmount). * Total expected length: `expected * 3 + 1`. */ export declare function parseOrderInfosResult(result: string[], expected: number): EkuboOnChainOrderInfo[]; export declare function pickTwammPoolFee(payload: EkuboApiPoolsResponse, twammExtension: Address): bigint; export declare function buildEkuboOrderDescriptors(params: { chainId: ChainId; positions: Address; positionsNft: Address; page: EkuboApiOrdersResponse; }): EkuboOrderDescriptor[]; export declare function toEkuboDcaOrder(params: { descriptor: EkuboOrderDescriptor; info: EkuboOnChainOrderInfo; traderAddress: Address; providerId: string; nowSeconds: number; }): DcaOrder; //# sourceMappingURL=ekubo.helpers.d.ts.map