import type { PlanInterface, PlanItemInterface, PlanItemContentInterface, ExternalVenueRefInterface } from "../interfaces/index.js"; import type { VenuePlanItemsResponseInterface, VenueActionResponseInterface, LessonTreeInterface, LessonActionTreeInterface } from "../interfaces/Lessons.js"; import type { ContentProviderInterface } from "./ContentProvider.js"; export declare class LessonsContentProvider implements ContentProviderInterface { readonly providerId = "lessons"; private lessonsUrl; constructor(lessonsUrl?: string); canHandle(plan: PlanInterface, planItem: PlanItemInterface): boolean; fetchContent(plan: PlanInterface, planItems: PlanItemInterface[]): Promise>; hasAssociatedLesson(plan: PlanInterface): boolean; isExternalVenue(plan: PlanInterface): boolean; getExternalRef(plan: PlanInterface): ExternalVenueRefInterface | null; getVenueId(plan: PlanInterface): string | null; /** Fetch venue plan items—the basic hierarchical structure. */ fetchVenuePlanItems(plan: PlanInterface): Promise; /** Fetch venue actions—sections with their full action lists. */ fetchVenueActions(plan: PlanInterface): Promise; /** Fetch the full lesson tree for browsing. */ fetchLessonTree(): Promise; /** Fetch the action tree for action selection. */ fetchActionTree(): Promise; /** Get the display list—hierarchical items without actions expanded. */ getDisplayList(plan: PlanInterface): Promise; /** Get display list with sections only (actions stripped). */ getSectionsOnlyList(plan: PlanInterface): Promise; /** Get the fully expanded list with all actions populated. */ getExpandedList(plan: PlanInterface): Promise; /** Get embed URL for an action. */ getActionEmbedUrl(actionId: string, externalProviderId?: string): string; /** Get embed URL for an add-on. */ getAddOnEmbedUrl(addOnId: string, externalProviderId?: string): string; /** Get embed URL for a section. */ getSectionEmbedUrl(sectionId: string, externalProviderId?: string): string; /** Get the external provider ID from a plan (if external). */ getExternalProviderId(plan: PlanInterface): string | null; } //# sourceMappingURL=LessonsContentProvider.d.ts.map