import * as React from 'react';
import type { GlobalData, CachedPageData, ResolvedPageData, RenderPagePayload } from '../../types/index.js';
export declare let globalData: GlobalData | undefined;
export declare let initLocale: string | undefined;
export declare function getSharedData<T = any>(id: string): Promise<T | undefined>;
export declare function useRefresh(): void;
export declare class Loader {
    static markdocComponents: Record<string, any>;
    static updateTemplate(route: string, mod: unknown, templateId: string): Promise<void>;
    static update(route: string): Promise<void>;
    static updateSharedData(id: string): Promise<void>;
    static addGlobalDataListener(fn: (...args: any[]) => void): void;
    static removeGlobalDataListener(fn: (...args: any[]) => void): void;
    static updateGlobalData(data: GlobalData): void;
    static tryLoad(route: string, skipCache?: boolean): Promise<CachedPageData | null | undefined>;
    static loadDynamicMarkdocComponents(name: string): Promise<void>;
    static load(route: string, skipCache?: boolean): Promise<CachedPageData | undefined>;
    static loadSync(route: string): ResolvedPageData | undefined;
    static prepare(page: RenderPagePayload, sharedData: Record<string, unknown>, _globalData: GlobalData, _initLocale: string): Promise<void>;
    static loadTemplate(templateId: string): Promise<React.ComponentType<any>>;
    static clear(): void;
}
//# sourceMappingURL=loader.d.ts.map