export interface LocationAction { canAct(location: URL): boolean; act(location: URL, document: Document): void | PromiseLike; getLocationActionMeta(location: URL): LocationActionMeta; } export type LocationActionMeta = { readonly locationWithoutTrigger: URL; readonly replaceLocation: 'beforeAct' | 'afterAct'; } | { readonly locationWithoutTrigger?: URL; readonly replaceLocation: 'never'; }; export interface ExecuteLocationActionOptions { readonly document: Document; readonly history?: History; readonly actions: Iterable; } /** * executes provided location actions in order of appearance */ export declare function executeLocationAction({ document, history, actions, }: ExecuteLocationActionOptions): Promise;