import type { DataSource, ConnectorRun, SourceStatus, TermsStatus, SourceFilters } from '../domain/dataSource'

export interface IDataSourceProvider {
  getSources(filters?: SourceFilters): Promise<DataSource[]>
  getSource(id: string): Promise<DataSource | null>
  getConnectorRuns(sourceId: string): Promise<ConnectorRun[]>
  triggerMockRun(sourceId: string): Promise<ConnectorRun>
  updateSourceStatus(id: string, status: SourceStatus): Promise<DataSource>
  markTermsStatus(id: string, termsStatus: TermsStatus): Promise<DataSource>
}
