///
import { Component, ValidationMap, ReactType } from 'react';
import { Location } from 'history';
import { Store, RouterStoreState } from './Store';
import { Match, ValOrFunc } from './utils';
export declare type RouteProps = {
match?: ValOrFunc;
component?: ReactType;
render?: (params: RouteChildParams) => JSX.Element;
children?: ((params: RouteChildParams) => JSX.Element) | JSX.Element;
passif?: boolean;
switchIndex?: number;
};
export declare type RouteContext = {
routerStore: Store;
};
export declare type RouteChildContext = {
routerStore: Store;
};
export declare type RouteChildParams = {
match: Match;
location: Location;
};
export declare class Route extends Component {
static displayName: string;
static childContextTypes: ValidationMap;
static contextTypes: ValidationMap;
context: RouteContext;
private routerStore;
private matchResult;
private unsubscribe;
private isUnmounted;
constructor(props: RouteProps, context: RouteContext);
getChildContext(): RouteChildContext;
UNSAFE_componentWillReceiveProps(nextProps: RouteProps): void;
componentWillUnmount(): void;
render(): JSX.Element | null;
private update(props, forceUpdate?);
}