import * as React from 'react';
import { Navigation, Matcher } from 'navi';
import { HashScrollBehavior } from './HashScroll';
export interface RouterProps<Context extends object> {
    basename?: string;
    children?: React.ReactNode;
    context?: Context;
    hashScrollBehavior?: HashScrollBehavior;
    history?: any;
    navigation?: Navigation<Context>;
    routes?: Matcher<Context>;
}
export declare class Router<Context extends object = {}> extends React.Component<RouterProps<Context>> {
    static defaultProps: {
        fallback: undefined;
    };
    navigation: Navigation<Context>;
    constructor(props: RouterProps<Context>);
    render(): JSX.Element;
    componentDidMount(): void;
    componentDidUpdate(prevProps: RouterProps<Context>): void;
    componentWillUnmount(): void;
}
