/// import { IncomingMessage, ServerResponse } from "http"; import * as UrlParser from 'url'; export interface ExtendedRequest extends IncomingMessage { originalUrl?: string; forceLocale?: string; bablic?: { locale: string; proxied?: boolean; }; } export interface ExtendedResponse extends ServerResponse { locals?: any; } export declare type Middleware = (req: IncomingMessage, res: ServerResponse, next: () => void) => void; export interface KeywordMapper { [locale: string]: { [keyword: string]: string; }; } export declare function getLocaleByURL(parsedUrl: any, locale_detection: any, localeConfigs: any, cookieLocale: any, siteDefaultLocale: any, detectedLocale: any, isProxy: any, explicitLocale: any, subDirBase: any, folders: any, locales: any): any; export interface SiteMeta { localeDetection: string; original: string; customUrls: { [locale: string]: string; }; default: string; autoDetect: boolean; localeKeys: string[]; timestamp: number; includeQueryString: boolean; includeHash: boolean; singlePageApp: boolean; qsParams: string[]; domain: string; mountSubs: string[]; } export interface LastModifiedByLocale { [locale: string]: Date; } export interface BablicLinkOptions { subDir?: boolean; subDirBase?: string; subDirOptional?: boolean; returnFull?: boolean; folders?: { [locale: string]: string; }; } export declare function getLink(locale: string, parsed: UrlParser.Url, meta: SiteMeta, options?: BablicLinkOptions): string;