export interface PendleSignTxDto { account: string; connectionId: string; nonce: string; } export interface AgentExecuteDto { agent: string; message: PendleSignTxDto; signature: string; calldata: string; } export interface TxResponse { status?: string; txHash?: string; index?: number; error?: string; } export interface BulkAgentExecuteDto { datas: AgentExecuteDto[]; skipReceipt?: boolean; requireSuccess?: boolean; } export interface AgentSessionQueryDto { root: string; agent: string; timestamp: number; signature: string; } export interface BulkAgentExecuteV2Dto { datas: AgentExecuteDto[]; agentSession: AgentSessionQueryDto; skipReceipt?: boolean; requireSuccess?: boolean; } export interface ApproveAgentQueryDto { approveAgentCalldata: string; skipReceipt?: boolean; } export interface ApproveAgentResponse { approveAgentResult: TxResponse; } export interface DepositFromBoxMessageDto { root: string; boxId: number; tokenSpent: string; maxAmountSpent: string; accountId: number; tokenId: number; marketId: number; minDepositAmount: string; payTreasuryAmount: string; swapApprove: string; swapExtRouter: string; swapCalldata: string; expiry: string; salt: string; } export interface DepositFromBoxDto { account: string; signature: string; agent: string; timestamp: number; message: DepositFromBoxMessageDto; depositFromBoxSignature: string; agentSession: AgentSessionQueryDto; intentId?: string; } import type { AxiosInstance, AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios'; export type QueryParamsType = Record; export interface FullRequestParams extends Omit { secure?: boolean; path: string; type?: ContentType; query?: QueryParamsType; format?: ResponseType; body?: unknown; } export type RequestParams = Omit; export interface ApiConfig extends Omit { securityWorker?: (securityData: SecurityDataType | null) => Promise | AxiosRequestConfig | void; secure?: boolean; format?: ResponseType; } export declare enum ContentType { Json = "application/json", JsonApi = "application/vnd.api+json", FormData = "multipart/form-data", UrlEncoded = "application/x-www-form-urlencoded", Text = "text/plain" } export declare class HttpClient { instance: AxiosInstance; private securityData; private securityWorker?; private secure?; private format?; constructor({ securityWorker, secure, format, ...axiosConfig }?: ApiConfig); setSecurityData: (data: SecurityDataType | null) => void; protected mergeRequestParams(params1: AxiosRequestConfig, params2?: AxiosRequestConfig): AxiosRequestConfig; protected stringifyFormItem(formItem: unknown): string; protected createFormData(input: Record): FormData; request: ({ secure, path, type, query, format, body, ...params }: FullRequestParams) => Promise>; } export declare class Sdk extends HttpClient { agent: { agentControllerDirectCallV2: (data: AgentExecuteDto, params?: RequestParams) => Promise>; agentControllerBulkAgentDirectCallV2: (data: BulkAgentExecuteDto, params?: RequestParams) => Promise>; agentControllerBulkAgentDirectCallV3: (data: BulkAgentExecuteV2Dto, params?: RequestParams) => Promise>; agentControllerApproveAgent: (data: ApproveAgentQueryDto, params?: RequestParams) => Promise>; agentControllerDepositFromBox: (data: DepositFromBoxDto, params?: RequestParams) => Promise>; }; }