///
import { ExtendedRequest, ExtendedResponse, KeywordMapper, SiteMeta, LastModifiedByLocale } from "./common";
export interface SeoOptions {
useCache?: boolean;
defaultCache?: string[];
cacheDir?: string;
test?: boolean;
altHost?: string;
cacheDays?: number;
}
export interface SeoSubDirOptions {
subDir: boolean;
subDirBase: string;
subDirOptional: boolean;
}
export declare class SeoMiddleware {
private siteId;
private options;
private subDirOptions;
constructor(siteId: string, options: SeoOptions, subDirOptions: SeoSubDirOptions);
writeToCache(url: string, locale: string, translated: string): Promise;
getHtml(url: string, locale: string, html?: string): Promise;
getFromCache(url: string, locale: string, skip: boolean, callback: (e?: Error, html?: Buffer | string, isValid?: boolean) => void): void;
isEncoded(buffer: any): boolean;
readHeaderAsString(res: ExtendedResponse, headerName: string): string;
purgeCache(): Promise;
middleware(): (meta: SiteMeta, lastModified: LastModifiedByLocale, keywordsByLocale: KeywordMapper, reverseKeywordByLocale: KeywordMapper, req: ExtendedRequest, res: ExtendedResponse, next: () => void) => void;
}
export declare function setRenderServer(url: string): void;