1 | import { Location, Action, LocationListener, LocationState, UnregisterCallback } from './index';
|
2 | import { getConfirmation } from './DOMUtils';
|
3 |
|
4 | export type PromptFunction<S = LocationState> = (location: Location<S>, action: Action) => any;
|
5 |
|
6 | export type Prompt<S = LocationState> = PromptFunction<S> | boolean;
|
7 |
|
8 | export interface TransitionManager<S = LocationState> {
|
9 | setPrompt(nextPrompt?: Prompt<S>): UnregisterCallback;
|
10 | appendListener(listener: LocationListener<S>): UnregisterCallback;
|
11 | notifyListeners(location: Location<S>, action: Action): void;
|
12 | confirmTransitionTo(
|
13 | location: Location<S>,
|
14 | action: Action,
|
15 | getUserConfirmation: typeof getConfirmation,
|
16 | callback: (result: boolean) => void,
|
17 | ): void;
|
18 | }
|
19 |
|
20 | export default function createTransitionManager<S = LocationState>(): TransitionManager<S>;
|