import { TimeElementFactory } from "./time/html/TimeElementFactory.js";
import { ContentVisitor } from "./RR0ContentStep.js";
import { HtmlRR0Context } from "./RR0Context.js";
import { EventRenderer } from "./time/EventRenderer.js";
import { AllDataService, RR0Data, RR0Event } from "@rr0/data";
/**
* Insert content in context file, according to data found in .json files aside of it.
*/
export declare class DataContentVisitor implements ContentVisitor {
protected service: AllDataService;
protected eventRenderer: EventRenderer;
protected timeElementFactory: TimeElementFactory;
constructor(service: AllDataService, eventRenderer: EventRenderer, timeElementFactory: TimeElementFactory);
visit(context: HtmlRR0Context): Promise;
protected process(context: HtmlRR0Context, data: RR0Data): Promise;
protected processEvent(context: HtmlRR0Context, event: RR0Event, data: RR0Data): Promise;
/** Where the UFO@home player that replays a case's sightings is served from. */
static readonly SIGHTING_PLAYER_SCRIPT = "https://ufoathome.org/lib/rr0-sighting.mjs";
/**
* A sighting event of a case points at a witness's recording (its `url`, a UFO@home
* `sighting.json`): the page shows them in the UFO@home player, reading the case.json itself so
* that every sighting of the case is offered, not only this one. Inserted at the end of the page's
* contents, once, and only if the page does not already embed a player where its author put one.
*/
protected processSighting(context: HtmlRR0Context, data: RR0Data): void;
protected timeParagraph(context: HtmlRR0Context, event: RR0Event): {
eventP: HTMLParagraphElement;
timeEl: HTMLElement;
};
protected processImage(context: HtmlRR0Context, event: RR0Event): Promise;
protected processBirth(context: HtmlRR0Context, event: RR0Event, entity: RR0Data): Promise;
protected processDeath(context: HtmlRR0Context, event: RR0Event, entity: RR0Data): Promise;
protected processBook(context: HtmlRR0Context, event: RR0Event, bookData: RR0Data): Promise;
protected processTitle(context: HtmlRR0Context, data: RR0Data): void;
protected processURL(context: HtmlRR0Context, data: RR0Data): void;
}