import { RegexReplacer, SsiEchoVarReplaceCommand, StringContextHandler } from "ssg-api";
import { HtmlRR0Context } from "../RR0Context.js";
/**
* Replaces the SSI expression "" by the page's
content,
* with a link if there's a content.
*/
export declare class SsiTitleReplaceCommand extends SsiEchoVarReplaceCommand {
protected defaultHandlers: StringContextHandler[];
protected static readonly setVarRegex: RegExp;
/**
* The title set by the file being processed, if any.
*/
protected setTitle: string | undefined;
/**
* @param defaultHandlers Will generate a title for a given context/file, if no title is found.
*/
constructor(defaultHandlers?: StringContextHandler[]);
/**
* Consumes a `` directive first, as it would otherwise be read only after the
* title has been resolved (and then output as a second `` inside the page's body).
*/
execute(context: HtmlRR0Context): Promise;
protected createReplacer(context: HtmlRR0Context): Promise;
protected getTitle(context: HtmlRR0Context): string;
/**
* @return The title implied by a file name: its directory's name for an index page (org/eu/fr/.../paris/index.html
* gives "Paris"), its own name otherwise.
*/
protected nameTitle(fileName: string): string;
}