import { Component } from 'vue'; export interface ClientPagePowerMenu { [key: string]: unknown; ActionName?: string; ButtonType?: string; } export interface ClientPageContext { route: string; viewPath: string; allowedRoutePrefixes: string[]; powerQuery: Record; pageQuery: Record; querySignatures?: Record; topMenu: TMenu[]; } export type ClientPageViewModules = Record Promise<{ default: Component; }>>; export interface ClientPageRouterApi { createMemoryHistory: () => unknown; createRouter: (options: any) => any; } declare global { interface Window { __CLIENT_PAGE_CONTEXT__?: ClientPageContext; } } export declare function getClientPageContext(): ClientPageContext | undefined; export declare function withClientPageQuery(path: string): string; export declare function isClientPageRouteAllowed(path: string): boolean; export declare function findTopPowerMenu(...actionNames: string[]): ClientPagePowerMenu | undefined; export declare function hasTopPowerAction(...actionNames: string[]): boolean; /** 创建由 MVC ClientPage 上下文驱动的内存路由。 */ export declare function useClientPageRouter(views: ClientPageViewModules, { createMemoryHistory, createRouter }: TRouterApi): ReturnType;