package openai

import "github.com/jobs-scraper/internal/pkg/domain"

// JobAnalysisService defines the interface for job analysis services
type JobAnalysisService interface {
	// AnalyzeJobDescription analyzes a job description against a CV
	AnalyzeJobDescription(cv string, jobDesc domain.JobDescription) (*JobAnalysisResult, error)
}

// CVService defines the interface for CV-related services
type CVService interface {
	// GenerateCV creates a tailored CV based on a job description
	GenerateCV(originalCV string, jobDesc domain.JobDescription) (string, error)
	
	// GenerateCoverLetter creates a cover letter based on CV and job description
	GenerateCoverLetter(cv string, jobDesc domain.JobDescription, companyName string) (string, error)
}

// AIService combines all AI-related services
type AIService interface {
	JobAnalysisService
	CVService
}

// Ensure OpenAIService implements AIService
var _ AIService = (*OpenAIService)(nil)
