import { OrNil } from "../utils/declaration"; import { SdinProject } from './project'; import { SdinAbstractConfig } from './abstract-config'; import { SdinApplicationModule, SdinApplicationModuleDatas } from './application-module'; export interface SdinApplicationPageElement extends Record { key: string; } export interface SdinApplicationPageDatas extends SdinApplicationModuleDatas { SDIN_PAGE_NAME: string; SDIN_PAGE_TITLE: string; SDIN_PAGE_PATH: string; } export type SdinApplicationPageSkeleton = (page: SdinApplicationPage) => string; /** * Sdin 应用页面配置选项 */ export interface SdinApplicationPageParams { /** 页面名称 */ name: string; /** 页面标题 */ title: string; /** 页面入口文件(默认:页面名称/index.(ts|tsx|js|jsx),相对模块源码目录而言) */ index?: string; /** 页面网络路径(默认:页面名称,相对模块网络路径而言) */ path?: string; /** 页面元信息标签列表 */ metas?: OrNil[]; /** 页面链接标签列表 */ links?: OrNil[]; /** 页面样式标签列表 */ styles?: OrNil[]; /** 页面脚本标签列表 */ scripts?: OrNil[]; /** 页面骨架渲染器 */ skeleton?: SdinApplicationPageSkeleton; /** 数据宏定义 */ datas?: Record; } /** * Sdin 应用页面配置 */ export declare class SdinApplicationPage extends SdinAbstractConfig { /** 页面名称 */ readonly name: string; /** 页面标题 */ readonly title: string; /** 页面入口文件 */ readonly index: string; /** 页面网络路径(相对模块网络路径而言) */ readonly path: string; /** 页面元信息标签列表 */ readonly metas: SdinApplicationPageElement[]; /** 页面样式标签列表 */ readonly links: SdinApplicationPageElement[]; /** 页面样式标签列表 */ readonly styles: SdinApplicationPageElement[]; /** 页面脚本标签列表 */ readonly scripts: SdinApplicationPageElement[]; /** 页面骨架渲染器 */ private readonly skeleton; /** 数据宏定义 */ readonly datas: SdinApplicationPageDatas; constructor(project: SdinProject, module: SdinApplicationModule, params: SdinApplicationPageParams); validate(): Promise; getHtmlTitle(): string; getHtmlDatas(): import("lodash").Omit; getMetaHtmlString(): string; getLinkHtmlString(): string; getStyleHtmlString(): string; getScriptHtmlString(scripts?: SdinApplicationPageElement[]): string; getSkeleton(): string; private assignLabels; private toHtmlString; }