import type { FutureSignal } from '../domain/futureSignal'
import type { SignalType, ReviewStatus } from '../domain/enums'

export interface FutureSignalFilters {
  signalType?: SignalType
  minProbability?: number
  organizationId?: string
  isVerified?: boolean
  sensitivityLevel?: string
  reviewStatus?: ReviewStatus
  maxTimeHorizonMonths?: number
}

export interface IFutureSignalProvider {
  getAll(filters?: FutureSignalFilters): Promise<FutureSignal[]>
  getById(id: string): Promise<FutureSignal | null>
  getByProperty(propertyId: string): Promise<FutureSignal[]>
  verify(id: string, verifiedBy: string): Promise<FutureSignal>
  updateReviewStatus(id: string, status: ReviewStatus): Promise<FutureSignal>
}
