export interface SettlementSummary { liquidated: boolean; inputSats: bigint; outputSats: bigint; durationInSeconds: number; takerLeverage: number; makerLeverage: number; percentageChange: number; oraclePublicKey: string; settlementTimestamp: number; } export interface InterestingContractResult { isInteresting: boolean; reason?: string; summary: SettlementSummary; } export interface InterestingSettlementFilterOptions { difficultyFilterExponent?: number; difficultyAdjustmentInterval?: number; baseLiquidationThresholdSats?: bigint; basePercentageThreshold?: number; difficultyIncrementRate?: number; minDifficultyFilterExponent?: number; maxDifficultyFilterExponent?: number; } export class InterestingSettlementFilter { difficultyFilterExponent: number; difficultyIncrementRate: number; minDifficultyFilterExponent: number; maxDifficultyFilterExponent: number; difficultyAdjustmentInterval: number; baseLiquidationThresholdSats: bigint; basePercentageThreshold: number; public constructor(filterOptions?: InterestingSettlementFilterOptions); public start(): void; public stop(): void; public incrementDifficulty(steps?: number): void; public decrementDifficulty(steps?: number): void; public getContractOutcome( contractData: Record, automatedPayoutData: Record, ): SettlementSummary; public isInterestingSettlement( contractData: Record, automatedPayoutData: Record, ): InterestingContractResult; }