import { Location, Action, LocationListener, LocationState, UnregisterCallback, } from './index'; import { getConfirmation } from './DOMUtils'; export type PromptFunction = ( location: Location, action: Action, ) => any; export type Prompt = PromptFunction | boolean; export interface TransitionManager { setPrompt(nextPrompt?: Prompt): UnregisterCallback; appendListener(listener: LocationListener): UnregisterCallback; notifyListeners(location: Location, action: Action): void; confirmTransitionTo( location: Location, action: Action, getUserConfirmation: typeof getConfirmation, callback: (result: boolean) => void, ): void; } export default function createTransitionManager< S = LocationState >(): TransitionManager;