/// import type { Any, EmptyObject } from '@web-io/common/es/types'; declare type IPageMethods = Record Any>; /** * Page 实现的接口对象. * 扩展`tinyapp.PageOptions`支持methods泛型, see `mini-types/types/page.d.ts`. * * @template D Type of page data. * @template ExtendThis Type of extended page instance, 可用于扩展page methods或者内部属性. */ declare type PageOptions, ExtendThis = EmptyObject> = tinyapp.IPageOptionsMethods & { /** * 初始数据或返回初始化数据的函数, 为对象时所有页面共享。 */ data?: D; /** * 事件处理函数集合。 */ events?: tinyapp.IPageEvents & ThisType & ExtendThis>; } & ExtendThis & ThisType & ExtendThis>; /** * @template D Type of page data. * @template ExtendThis Type of extended page instance, 可用于扩展page methods或者内部属性. */ declare type ICreatePageOptions = PageOptions & { /** * 将全局对象的值 map 到当前页面的 data. */ mapGlobalDataToData?: Record; }; /** * miniu data createPage data泛型参数支持. * * @template D Type of page data. * @template ExtendThis Type of extended page instance, 可用于扩展page methods或者内部属性. 传递给createPage的选项除了已定义选项外其余选项会扩展到page instance上, 组件则不会. * @template G Type of map global data to data, 全局数据映射到页面上为只读, 由于全局数据通过`setGlobalData`修改,所以将其设置为partial. * @param options Page options. * @returns Page instance. */ declare function createPage, ExtendThis = EmptyObject, G = EmptyObject>(options: ICreatePageOptions>, ExtendThis>): PageOptions>, ExtendThis>; export default createPage; export type { IPageMethods, PageOptions, ICreatePageOptions };