export interface MetadataRefreshJob {
  trackId: string;
  refreshType: 'full' | 'partial';
}

export interface AudioAnalysisJob {
  trackId: string;
  features: string[];
}

export interface CleanupJob {
  reason: 'expired' | 'manual';
  targetFiles: string[];
}

export interface LibraryScanJob {
  directory: string;
}

export interface ReindexTracksJob {}

export interface ReprocessArtistsJob {
  batchSize?: number;
  offset?: number;
}

export type JobPayload = MetadataRefreshJob | AudioAnalysisJob | CleanupJob | LibraryScanJob | ReindexTracksJob | ReprocessArtistsJob;
