import React, { ComponentType } from 'react';
import { Location, PageParams, Route, Router, State } from '../..';
export interface RouterProps {
    /**
     * @deprecated
     */
    routeState: State;
    /**
     * @deprecated
     */
    route: Route;
    router: Router;
    location: Location;
}
export interface RouterParams {
    params: PageParams;
}
/**
 * @deprecated use RouterProps
 */
export declare type SantaRouterProps = RouterProps;
/**
 * @deprecated use withRouter
 * @ignore
 */
export declare function withSantaRouter<T extends RouterProps>(Component: ComponentType<T>): React.ComponentType<Pick<T, Exclude<keyof T, "route" | "location" | "routeState" | "router">>>;
/**
 * HOC для добавления свойств
 *
 * location:{@link Location}
 * router:{@link Router}
 *
 * в переданный компонент
 *
 * ```typescript
 * export default withRouter(App);
 * ```
 * @param Component
 * @param withUpdate true - обновлять изменении при изменении location false - не обновлять
 */
export declare function withRouter<T extends RouterProps>(Component: ComponentType<T>, withUpdate?: boolean): ComponentType<Omit<T, keyof RouterProps>>;
