import { Address } from '@paraswap/sdk'; import { NumberAsString } from '../../types'; export declare enum OrderStatus { INVALID = 0, INVALID_MAKER_ASSET_AMOUNT = 1, INVALID_TAKER_ASSET_AMOUNT = 2, FILLABLE = 3, EXPIRED = 4, FULLY_FILLED = 5, CANCELLED = 6 } declare type Value = NumberAsString | number; export interface ZeroXSignedOrderV2 { senderAddress: string; makerAddress: string; takerAddress: string; makerFee: Value; takerFee: Value; makerAssetAmount: Value; takerAssetAmount: Value; makerAssetData: string; takerAssetData: string; salt: Value; exchangeAddress: string; feeRecipientAddress: string; expirationTimeSeconds: Value; makerFeeAssetData: string; takerFeeAssetData: string; signature: string; } export interface ZeroXSignedOrderV4 { makerToken: string; takerToken: string; makerAmount: Value; takerAmount: Value; maker: string; taker: string; txOrigin: string; pool: string; expiry: Value; salt: Value; signature: any; } export declare type ZeroXSignedOrder = ZeroXSignedOrderV2 | ZeroXSignedOrderV4; export declare enum ZeroXFunctions { swapOnZeroXv2 = "swapOnZeroXv2", swapOnZeroXv4 = "swapOnZeroXv4", swapOnZeroXv2WithPermit = "swapOnZeroXv2WithPermit", swapOnZeroXv4WithPermit = "swapOnZeroXv4WithPermit" } export declare type ZeroXData = { version: number; order: ZeroXSignedOrder; }; export declare type SwapOnZeroXParam = [ srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, exchange: Address, payload: string ]; export declare type SwapOnZeroXWithPermitParam = [ srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, exchange: Address, payload: string, permit: string ]; export declare type ZeroXParam = SwapOnZeroXParam | SwapOnZeroXWithPermitParam; export {};