// Package interfaces defines the contracts for worker components
package interfaces

import (
	"time"
)

// ProgressTracker defines the contract for tracking job execution progress
type ProgressTracker interface {
	// StageStart marks the beginning of an execution stage
	StageStart(taskID, stage string)

	// StageComplete marks successful completion of a stage
	StageComplete(taskID, stage string, duration time.Duration)

	// StageFailed marks a stage failure
	StageFailed(taskID, stage string, err error)

	// JobComplete marks job completion with final status
	JobComplete(taskID string, success bool, duration time.Duration)
}
