/** * Role-of-code applicability filter for lessons (strategy item 020). * * Pure utility for narrowing a lesson list to those whose declared * `appliesTo` roles match the role of the function/file under review. * Lessons declared `['any']` always pass; the filter is opt-in via the * `targetRole` argument so callers without a role classification get * the full list back unchanged. */ import type { LessonRole } from './types.js'; /** Minimal lesson shape this filter operates on. */ export interface LessonWithAppliesTo { appliesTo: LessonRole[]; } /** * Return lessons whose `appliesTo` includes `targetRole` OR `'any'`. * * If `targetRole` is omitted (or undefined), returns the input unchanged — * caller has not classified the surface and the filter is a no-op. * * Pure: does not mutate the input array or its elements. */ export declare function filterLessonsByRole(lessons: readonly T[], targetRole?: LessonRole): T[]; //# sourceMappingURL=lesson-role-filter.d.ts.map