import type { NavigationData, PageContent } from '@gravity-ui/page-constructor';
import type { SearchConfig } from '../Search';
import type { RouterConfig } from '../Router';
import type { ReactElement } from 'react';
import type { DocContentPageData as DocContentPageDataBase, DocLeadingPageData, DocPageData } from '@diplodoc/components';
import { Lang } from '@diplodoc/components';
import '@diplodoc/transform/dist/js/yfm';
import '../../interceptors/leading-page-links';
import './App.scss';
export type DocAnalytics = {
    gtm?: {
        id?: string;
        mode?: 'base' | 'notification';
    };
};
export interface AppProps {
    lang: `${Lang}` | Lang;
    langs: (`${Lang}` | Lang)[];
    router: RouterConfig;
    search?: SearchConfig;
    analytics?: DocAnalytics;
    viewerInterface?: Record<string, boolean>;
}
export type WithNavigation = {
    navigation?: NavigationData;
};
export type DocContentPageData = DocContentPageDataBase<PageContent>;
export type PageData = DocPageData | DocLeadingPageData | DocContentPageData;
export type DocInnerProps<Data extends PageData = PageData> = {
    data: Data;
} & AppProps;
export type { DocLeadingPageData, DocPageData };
export declare function App(props: DocInnerProps): ReactElement;
