import type { ComponentMap } from "./contracts";
import type { DefineComponent } from "vue";
export declare type ResolvedPage = {
    default: DefineComponent;
};
export declare type DefinedPage = DefineComponent | Promise<DefineComponent> | ResolvedPage;
export declare class InertiaViewPageManager {
    registeredPages: Record<string, DefinedPage>;
    /**
     * Retrieve map of registered pages.
     */
    getRegisteredPages(): Record<string, DefinedPage>;
    /**
     * Register pages for given namespace.
     */
    addPages(pages: Record<string, DefinedPage>, namespace?: string): InertiaViewPageManager;
    /**
     * Resolve page with given name.
     *
     * @param page
     */
    resolve(page: string): DefinedPage;
    protected configureLayoutOnPage(pageComponent: ResolvedPage): ResolvedPage;
}
declare const PageManager: InertiaViewPageManager;
export { PageManager };
export declare function registerPages(pages: ComponentMap | Array<ComponentMap>, namespace?: string): void;
export declare function resolvePage(name: string): DefinedPage;
