/// <reference types="react" />
import { Component, ValidationMap } from 'react';
import { History } from 'history';
import { Store, RouterStoreState } from './Store';
import { Match, ValOrFunc, ToProps, NavParams } from './utils';
export declare type NavProviderPropsTyped<P> = {
    to: ToProps;
    match?: ValOrFunc<Match>;
    replace?: boolean;
    renderChild: (params: NavParams) => JSX.Element;
    noSubscribe?: boolean;
};
export declare type NavProviderProps = NavProviderPropsTyped<any>;
export declare type NavProviderContext = {
    routerStore: Store<RouterStoreState>;
    router: {
        history: History;
    };
};
export declare class NavProvider extends Component<NavProviderProps, {}> {
    static displayName: string;
    static contextTypes: ValidationMap<any>;
    context: NavProviderContext;
    private unsubscribe;
    private isUnmounted;
    constructor(props: NavProviderProps, context: NavProviderContext);
    componentDidMount(): void;
    UNSAFE_componentWillReceiveProps(nextProps: NavProviderProps): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
    private update();
}
