import type { PageMeta } from '#app'; import type { ComputedRef } from '#imports'; import type { Router } from 'vue-router'; export interface ModalRouter { /** * the route of the background view of the modal */ route: ComputedRef | undefined>; /** * returns the layout of the modal route view when the modal is opened * must pass to NuxtLayout to prevent using wrong layout from parallel routes */ layout: ComputedRef; /** * the opened stacks count of the modal view */ stacks: ComputedRef; /** * Close the modal * @param allOpened whether to close all opened modals */ close: (allOpened?: boolean) => void; /** * method to push a new route to the modal */ push: (to: Parameters[0], open?: boolean) => ReturnType; /** * method to replace the current route of the modal */ replace: (to: Parameters[0]) => ReturnType; /** * @deprecated use `route` instead */ backgroundRoute: ComputedRef | undefined>; } declare const _default: import("nuxt/app").Plugin<{ modalRouter: { route: ComputedRef; layout: ComputedRef; backgroundRoute: ComputedRef; stacks: ComputedRef; close: (allOpened?: boolean) => void; push: (to: Parameters[0], open?: boolean) => ReturnType; replace: (to: Parameters[0]) => ReturnType; }; }> & import("nuxt/app").ObjectPlugin<{ modalRouter: { route: ComputedRef; layout: ComputedRef; backgroundRoute: ComputedRef; stacks: ComputedRef; close: (allOpened?: boolean) => void; push: (to: Parameters[0], open?: boolean) => ReturnType; replace: (to: Parameters[0]) => ReturnType; }; }>; export default _default;