import type { ReactNode } from 'react';
import Route from './entities/Route';
export declare type Structure = string | null;
export declare type Page = Structure;
export declare type View = Structure;
export declare type Panel = Structure;
export declare type Modal = Structure;
export declare type Popout = Structure;
export declare type HistoryEvent = {
    next: Readonly<Route>;
    prev: Readonly<Route>;
};
export declare type RouteLike = Readonly<Partial<Route>>;
export declare type RouteStack = Array<Route>;
export declare type RouteParams = {
    [key: string]: string | string[];
};
export declare type RouteList = {
    [key: string]: Route;
};
export declare type RouteMatch = {
    isExact: boolean;
    path: Page;
    url: string;
    params: RouteParams;
};
export declare type RouterCache = Map<View, Panel>;
export declare type SharedConfig = {
    debug: boolean;
    positive: boolean;
};
export declare type RenderNode = ReactNode | null;
