import { BlockerFunction, Params, Router } from '@remix-run/router';
import { NavigationOptions, NavigationTarget, RouteNavigator, NavigationState } from './RouteNavigator.type';
import { ViewHistory } from './ViewHistory';
export declare class DefaultRouteNavigator implements RouteNavigator {
    private viewHistory;
    private readonly router;
    private readonly setPopout;
    private blockers;
    private blockerId;
    constructor(router: Router, viewHistory: ViewHistory, setPopout: (popout: JSX.Element | null) => void);
    push(to: NavigationTarget, paramsOrOptions?: Params | NavigationOptions, options?: NavigationOptions): Promise<void>;
    replace(to: NavigationTarget, paramsOrOptions?: Params | NavigationOptions, options?: NavigationOptions): Promise<void>;
    back(to?: number): Promise<void>;
    backToFirst(): Promise<void>;
    go(to: number): Promise<void>;
    runSync(actions: VoidFunction[]): Promise<void>;
    showModal(id: string, options?: {
        state?: NavigationState;
    }): Promise<void>;
    hideModal(pushPanel?: boolean, options?: {
        replace: boolean;
    }): Promise<void>;
    showPopout(popout: JSX.Element): Promise<void>;
    hidePopout(): Promise<void>;
    block(blocker: BlockerFunction): () => void;
    private navigate;
    private validateOptions;
    private parseParams;
}
//# sourceMappingURL=DefaultRouteNavigator.d.ts.map