import { FunctionComponent } from 'react';
import { Route, RouteComponentProps } from 'react-router-dom';
import { InferComponentProps } from './types.js';
type GuardedRouteProps = InferComponentProps<typeof Route> & {
    condition?: boolean;
    isConditionLoading?: boolean;
    LoadingComponent?: FunctionComponent<RouteComponentProps>;
    FailureComponent: FunctionComponent<RouteComponentProps>;
    component: FunctionComponent<RouteComponentProps>;
};
export declare const GuardedRoute: ({ condition, isConditionLoading, LoadingComponent, FailureComponent, component: Component, ...routeProps }: GuardedRouteProps) => JSX.Element;
/**
 * Create a GuardedRoute component with defaults.
 * @param {*} defaults Supports `condition`, `isConditionLoading`, `LoadingComponent`, and `FailureComponent`.
 */
export declare const createGuardedRoute: (defaults: Partial<GuardedRouteProps>) => (props: GuardedRouteProps) => JSX.Element;
export {};
