import type { PipelineState, AuditTrailEntry, GateType } from '../domain/signalPipeline'

export interface ISignalPipelineProvider {
  getPipelineState(signalId: string): Promise<PipelineState | null>
  evaluateGate(signalId: string, gateType: GateType): Promise<PipelineState>
  getAuditTrail(signalId: string): Promise<AuditTrailEntry[]>
  publishToFutureAvailability(signalId: string): Promise<PipelineState>
}
