import { Component, type InfernoNode } from 'inferno'; import type { History, Location } from 'history'; import type { RouterContext, TContextRouter, TLoaderData, TLoaderProps } from './Router'; export interface Match

> { params: P; isExact: boolean; path: string; url: string; loader?: (props: TLoaderProps

) => Promise; loaderData?: TLoaderData; } export interface RouteComponentProps

> { match: Match

; location: Location; history: History; staticContext?: any; } export interface IRouteProps { computedMatch?: Match | null; path?: string; exact?: boolean; strict?: boolean; sensitive?: boolean; loader?: (props: TLoaderProps) => Promise; component?: typeof Component | ((props: any, context: any) => InfernoNode); render?: (props: RouteComponentProps, context: any) => InfernoNode; location?: Pick; children?: ((props: RouteComponentProps) => InfernoNode) | InfernoNode; } /** * The public API for matching a single path and rendering. */ interface RouteState { match: Match | null; __loaderData__?: TLoaderData; } declare class Route extends Component, RouteState> { constructor(props: IRouteProps, context: RouterContext); getChildContext(): RouterContext; computeMatch({ computedMatch, ...props }: IRouteProps, router: TContextRouter): Match | null; componentWillReceiveProps(nextProps: any, nextContext: { router: TContextRouter; }): void; render(props: IRouteProps, state: RouteState, context: { router: TContextRouter; }): InfernoNode; } export { Route };