import { Route } from './Route';
import { State } from './State';
import { InfinityPanelIdTitle, PageParams, RouterGenericBase } from './Types';
export declare class Location<T extends RouterGenericBase = RouterGenericBase> {
    route: Route<T>;
    state: State<T>;
    constructor(route: Route<T>, state: State<T>);
    /**
     * @ignore
     * @param viewId
     */
    getLastPanelInView(viewId: T['viewId']): T['panelId'] | undefined;
    /**
     * Массив из id панелей для передачи в атрибут history <View>
     *
     * ```javascript
     * import { useLocation } from '@happysanta/router';
     *
     * const App = () => {
     *    const location = useLocation();
     *    return <View id={VIEW_MAIN}
     *                 history={location.getViewHistory(VIEW_MAIN)}
     *                 activePanel={location.getViewActivePanel(VIEW_MAIN)}>
     *           <Home id={PANEL_MAIN}/>
     *           <Persik id={PANEL_PERSIK}/>
     *    </View>
     * }
     * ```
     *
     * @param viewId
     */
    getViewHistory(viewId: T['viewId']): Array<T['panelId'] | InfinityPanelIdTitle<T['panelId']>>;
    getViewHistoryWithLastPanel(viewId: T['viewId']): Array<T['panelId'] | InfinityPanelIdTitle<T['panelId']>>;
    /**
     * @deprecated use getViewActivePanel
     * @ignore
     * @param viewId
     */
    getPanelIdInView(viewId: T['viewId']): T['panelId'] | InfinityPanelIdTitle<T['panelId']> | undefined;
    getViewActivePanel(viewId: T['viewId']): T['panelId'] | InfinityPanelIdTitle<T['panelId']> | undefined;
    getPanelId(): T['panelId'] | InfinityPanelIdTitle<T['panelId']>;
    getViewId(): T['viewId'];
    getRootId(): T['rootId'];
    getModalId(): T['modalId'] | null;
    getPopupId(): T['popupId'] | null;
    getPageId(): T['pageId'];
    getParams(): PageParams;
    hasOverlay(): boolean;
    /**
     * Если вам надо отрисовать стрелочку назад или домик то используйте эту функцию
     */
    isFirstPage(): boolean;
}
