import { type Address, type Hex } from "viem"; import { BaseContract, type OnchainSDK } from "../../sdk/index.js"; import { type BotStateV310Human } from "./types.js"; declare const abi: readonly [{ readonly type: "function"; readonly name: "contractType"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "feeScaleFactor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint16"; readonly internalType: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxHealthFactor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint16"; readonly internalType: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "minHealthFactor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint16"; readonly internalType: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "partiallyLiquidate"; readonly inputs: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "repaidAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minSeizedAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "to"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "priceUpdates"; readonly type: "tuple[]"; readonly internalType: "struct PriceUpdate[]"; readonly components: readonly [{ readonly name: "priceFeed"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: "seizedAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "premiumScaleFactor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint16"; readonly internalType: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "requiredPermissions"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint192"; readonly internalType: "uint192"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "serialize"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "serializedData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "treasury"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "version"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "PartiallyLiquidate"; readonly inputs: readonly [{ readonly name: "creditManager"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "creditAccount"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "liquidator"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "repaidDebt"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "seizedCollateral"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "fee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "LiquidatedLessThanNeededException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "LiquidatedMoreThanNeededException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "SeizedLessThanRequiredException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UnderlyingNotLiquidatableException"; readonly inputs: readonly []; }]; type abi = typeof abi; export interface PartialLiquidationBotV310Params { addr: Address; version: bigint; contractType: string; serializedParams: Hex; } export declare class PartialLiquidationBotV310Contract extends BaseContract { #private; readonly treasury: Address; readonly minHealthFactor: number; readonly maxHealthFactor: number; readonly premiumScaleFactor: number; readonly feeScaleFactor: number; constructor(sdk: OnchainSDK, args: PartialLiquidationBotV310Params); stateHuman(raw?: boolean): BotStateV310Human; get state(): PartialLiquidationBotV310Params; } export {};