import type { MarketSignal, MarketSignalFilters, SignalProcessingStatus } from '../domain/marketSignal'

export interface IMarketIntelligenceProvider {
  getSignals(filters?: MarketSignalFilters): Promise<MarketSignal[]>
  getSignalById(id: string): Promise<MarketSignal | null>
  updateSignalStatus(id: string, status: SignalProcessingStatus): Promise<MarketSignal>
  convertToFutureSignal(id: string): Promise<{ futureSignalId: string }>
  linkSignalToEntity(
    id: string,
    entityType: 'property' | 'need',
    entityId: string,
  ): Promise<MarketSignal>
}
