import { SourceRenderer } from "./SourceRenderer.js";
import { HtmlRR0Context } from "../RR0Context.js";
import { SourceFactory } from "./SourceFactory.js";
import { ReferenceGenerator } from "../ReferenceGenerator.js";
/**
 * Replaces a source tag with the actual source web UI.
 *
 * To give sources a number, the source replacer holds the current source count.
 */
export declare class SourceReplacer {
    protected renderer: SourceRenderer;
    protected readonly factory: SourceFactory;
    protected counter: ReferenceGenerator<any>;
    constructor(renderer: SourceRenderer, factory: SourceFactory, counter: ReferenceGenerator<any>);
    replacement(context: HtmlRR0Context, original: HTMLElement): Promise<HTMLElement>;
    protected content(context: HtmlRR0Context, original: HTMLElement, container: HTMLElement): Promise<void>;
}
