import type { PageData } from './components/App';
import type { Lang, Theme } from '@diplodoc/components';
import type { AnalyticsConfig, UserAnalyticsConfig } from './types';
import { Analytics } from '@diplodoc/components';
import { DEFAULT_USER_SETTINGS, TextDirection } from './constants';
export declare function isBrowser(): boolean;
export declare function updateThemeClassName({ theme }: {
    theme: Theme;
}): void;
export declare function updateRootClassName(states: {
    mobileView?: boolean;
    wideFormat?: boolean;
    fullScreen?: boolean;
    focusSearch?: boolean;
    landingPage?: boolean;
}): void;
export declare function getDirection(lang: `${Lang}` | Lang): TextDirection;
export type Settings = typeof DEFAULT_USER_SETTINGS;
export declare function getSettings(): {
    theme: Theme;
    textSize: import("@diplodoc/components").TextSizes;
    showMiniToc: boolean;
    wideFormat: boolean;
    fullScreen: boolean;
};
export declare function getLandingPage(data: PageData): boolean;
export declare function getMobileView(): boolean;
export declare function setSetting<T>(name: string, value: T): void;
export declare function isDetailsTag(el: HTMLElement): el is HTMLDetailsElement;
export declare function isHeaderTag(el: HTMLElement): boolean;
/**
 * Scrolls to the element.
 * If the element is a heading - simply scrolls to it, since needed offset is already in css.
 * If the element is of any other type - calculate the offset form the element position in heading and scroll to it.
 * @param {HTMLElement} el
 */
export declare function scrollToElement(el: HTMLElement, offset?: number): void;
export declare function getLangPath(lang: string, href: string): string;
export declare function getDomainPath(lang: string, tld: string, href: string): string;
export declare function scrollToHash(): void;
export declare function createAnalyticsProps(config?: UserAnalyticsConfig): {
    analyticsConfig: AnalyticsConfig;
    analyticsService: Analytics;
};
