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);
}