namespace Api.Services.Contracts; /// /// Extracts plain text from a job posting, either from a pasted description or by fetching and parsing a URL. /// public interface IJobTextExtractor { /// /// Returns normalised plain text for the job posting. /// Prefers when provided; otherwise fetches and strips HTML from . /// /// URL of the job posting page, used when no description is pasted. /// Pasted job description text; takes priority over URL fetching. /// Cancellation token. /// Normalised plain text, truncated to the configured maximum character limit. Task ExtractAsync(string? jobUrl, string? jobDescription, CancellationToken ct); }