/**
 * Эти функции будут работать после вызова {@link setGlobalRouter}
 * @packageDocumentation
 */
import { RouteList, Router } from './entities/Router';
import { Route } from './entities/Route';
import { RouterConfig } from './entities/RouterConfig';
import { InfinityPanelIdTitle, PageParams, RouterGenericBase } from './entities/Types';
/**
 * @ignore
 * @param routes
 * @param config
 */
export declare function startGlobalRouter<T extends RouterGenericBase = RouterGenericBase>(routes: RouteList<T>, config?: RouterConfig<T> | null): Router<T>;
export declare function getGlobalRouter<T extends RouterGenericBase = RouterGenericBase>(): Router<T>;
export declare function setGlobalRouter<T extends RouterGenericBase = RouterGenericBase>(router: Router<T>): void;
/**
 * @ignore
 */
export declare function dangerousResetGlobalRouterUseForTestOnly(): void;
export declare function pushPage<T extends RouterGenericBase = RouterGenericBase>(pageId: T['pageId'], params?: PageParams): void;
export declare function replacePage<T extends RouterGenericBase = RouterGenericBase>(pageId: T['pageId'], params?: PageParams): void;
export declare function popPage<T extends RouterGenericBase = RouterGenericBase>(): void;
export declare function pushModal<T extends RouterGenericBase = RouterGenericBase>(modalId: T['modalId'], params?: PageParams): void;
export declare function pushPopup<T extends RouterGenericBase = RouterGenericBase>(popupId: T['popupId'], params?: PageParams): void;
export declare function replaceModal<T extends RouterGenericBase = RouterGenericBase>(modalId: T['modalId'], params?: PageParams): void;
export declare function replacePopout<T extends RouterGenericBase = RouterGenericBase>(popupId: string, params?: PageParams): void;
export declare function popPageTo<T extends RouterGenericBase = RouterGenericBase>(x: number | T['pageId']): void;
/**
 * @deprecated use popPageIfHasOverlay
 */
export declare function popPageIfModalOrPopup<T extends RouterGenericBase = RouterGenericBase>(): void;
export declare function popPageIfHasOverlay<T extends RouterGenericBase = RouterGenericBase>(): void;
export declare function pushPageAfterPreviews<T extends RouterGenericBase = RouterGenericBase>(prevPageId: T['pageId'], pageId: T['pageId'], params?: PageParams): void;
/**
 * @deprecated getCurrentStateOrDef
 * @ignore
 */
export declare function getCurrentRouterState<T extends RouterGenericBase = RouterGenericBase>(): import("./entities/State").State<T>;
export declare function getCurrentStateOrDef<T extends RouterGenericBase = RouterGenericBase>(): import("./entities/State").State<T>;
/**
 * @deprecated getCurrentRouteOrDef
 * @ignore
 */
export declare function getCurrentRoute<T extends RouterGenericBase = RouterGenericBase>(): Route;
export declare function getCurrentRouteOrDef<T extends RouterGenericBase = RouterGenericBase>(): Route<T>;
export declare function isInfinityPanel<PanelIdType extends string = string>(panelId: PanelIdType): boolean;
export declare function getInfinityPanelId<PanelIdType extends string = string>(panelId: InfinityPanelIdTitle<PanelIdType>): string;
