import { HtmlRR0Context, RR0Context } from "../../RR0Context.js";
import { TimeRenderer, TimeRenderOptions } from "./TimeRenderer.js";
/**
 * Creates <time> elements from time strings.
 */
export declare class TimeElementFactory {
    readonly renderer: TimeRenderer;
    constructor(renderer: TimeRenderer);
    create(context: HtmlRR0Context, previousContext: HtmlRR0Context | undefined, options: TimeRenderOptions): HTMLElement | undefined;
    protected createInterval(fromContext: HtmlRR0Context, toContext: HtmlRR0Context, previousContext: HtmlRR0Context, options: TimeRenderOptions): HTMLElement | undefined;
    protected createStarting(fromContext: HtmlRR0Context, previousContext: HtmlRR0Context, options: TimeRenderOptions): HTMLElement | undefined;
    protected valueReplacement(context: HtmlRR0Context, previousContext: RR0Context | undefined, options?: TimeRenderOptions): HTMLElement | undefined;
    protected durationReplacement(context: HtmlRR0Context): HTMLTimeElement | undefined;
    protected dateTimeReplacement(context: HtmlRR0Context, previousContext: RR0Context | null, options?: TimeRenderOptions): HTMLElement | undefined;
}
