import { InjectionToken, Signal, WritableSignal } from '@angular/core';
import { DocgeniSiteConfig, NavigationItem, HomeDocMeta, DocgeniTheme } from '../interfaces/public-api';
import { HttpClient } from '@angular/common/http';
import { Location } from '@angular/common';
import * as i0 from "@angular/core";
export declare const CONFIG_TOKEN: InjectionToken<unknown>;
export declare const DEFAULT_CONFIG: DocgeniSiteConfig;
export declare class GlobalContext {
    config: DocgeniSiteConfig;
    private http;
    private document;
    private location;
    locale: string;
    navs: NavigationItem[];
    docItems: NavigationItem[];
    homeMeta: HomeDocMeta;
    owner: string;
    repo: string;
    theme: WritableSignal<DocgeniTheme>;
    isDarkTheme: Signal<boolean>;
    get isDefaultLocale(): boolean;
    constructor(config: DocgeniSiteConfig, http: HttpClient, document: any, location: Location);
    private getLocaleKey;
    private setup;
    getLocalKeyFromUrl(): string;
    setLocale(locale: string): void;
    private getTheme;
    setTheme(theme: DocgeniTheme): void;
    getNowTimestamp(): number;
    initialize(): Promise<unknown>;
    getAssetsContentPath(path: string): string;
    sortDocItems(navs: NavigationItem[]): NavigationItem[];
    static ɵfac: i0.ɵɵFactoryDeclaration<GlobalContext, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GlobalContext>;
}
//# sourceMappingURL=global-context.d.ts.map