import type { AccountConfigSetting, AccountResponse, ActionStep, ExecuteActionResponse, MarketRef, ModifyOrderInput, OrderSide, OrderType, SignedActionStep, TimeInForce, TriggerOrderInput, WithdrawalParams } from '@lifi/perps-types'; import type { Account, Address, WalletClient } from 'viem'; import type { RetryConfig } from '../transport/retryPolicy.js'; import type { ProviderConfigs, RequestInterceptor } from './config.js'; import type { PerpsProviderPlugin } from './provider.js'; export interface PerpsConfig { integrator: string; apiKey: string; apiUrl?: string; disableVersionCheck?: boolean; requestInterceptor?: RequestInterceptor; providers?: PerpsProviderPlugin[] | ProviderConfigs; userWallet?: WalletClient; retry?: RetryConfig; fetch?: typeof fetch; } export interface PerpsClientOptions { integrator: string; apiKey: string; apiUrl?: string; providers?: PerpsProviderPlugin[] | ProviderConfigs; } export interface BuildProviderSetupParams { provider: string; address: Address; } export interface PlaceOrderParams { provider: string; address: Address; market: MarketRef; side: OrderSide; type: OrderType; size: string; price: string; leverage?: number; reduceOnly?: boolean; timeInForce?: TimeInForce; expiresAt?: string; takeProfit?: TriggerOrderInput; stopLoss?: TriggerOrderInput; } export interface PlaceTriggerOrderParams { provider: string; address: Address; market: MarketRef; side: OrderSide; takeProfit?: TriggerOrderInput; stopLoss?: TriggerOrderInput; } export interface WithdrawParams { provider: string; address: Address; withdrawal: WithdrawalParams; } export interface CancelOrdersParams { provider: string; address: Address; ids: string[]; } export interface ModifyOrdersParams { provider: string; address: Address; modifications: ModifyOrderInput[]; } export interface GetSetupParams { provider: string; address: Address; } export interface ProviderSetup { setup: ActionStep[]; isReady: boolean; } export interface ExecuteProviderSetupParams { provider: string; address: Address; setup: ActionStep[]; signedActions: SignedActionStep[]; } export interface ExecuteProviderSetupResult { results: ExecuteActionResponse; } export interface GetAccountResult extends AccountResponse { settings: AccountConfigSetting[]; } //# sourceMappingURL=api.d.ts.map