import { RR0Messages } from "./lang/index.js";
import { FileWriteConfig, HtmlSsgContext, SsgContext, SsgContextImpl } from "ssg-api";
import { TimeContext } from "@rr0/time";
import { FileContents } from "@javarome/fileutil";
import { PlaceContext } from "@rr0/place";
import { People } from "@rr0/data";
import { CMSContext } from "./CMSContext.js";
export interface RR0Context extends SsgContext {
    readonly messages: RR0Messages;
    readonly time: TimeContext;
    clone(locale?: string): RR0Context;
}
export interface HtmlRR0Context extends HtmlSsgContext {
    readonly messages: RR0Messages;
    time: TimeContext;
    place: PlaceContext;
    people: People;
    readonly images: Set<string>;
    readonly config: FileWriteConfig;
    readonly cms: CMSContext;
    clone(locale?: string): HtmlRR0Context;
}
export declare class RR0ContextImpl extends SsgContextImpl {
    readonly time: TimeContext;
    readonly config: FileWriteConfig;
    readonly people: any;
    protected _messages?: RR0Messages;
    readonly cms: CMSContext;
    readonly images: Set<string>;
    protected readonly fileMap: Map<string, FileContents>;
    place: PlaceContext;
    constructor(locale: string, time: TimeContext, config: FileWriteConfig, people?: any, currentFile?: FileContents | undefined, _messages?: RR0Messages, cms?: CMSContext);
    get messages(): RR0Messages;
    read(filePath: string): FileContents;
    clone(locale?: string): RR0ContextImpl;
    toString(): string;
}
