/** * 模板展厅跨层数据契约。 * full-matrix 导出、Pages 汇总和 gallery 前端共同消费这些字段。 */ import type { ProjectConfigType } from '../types/index.ts'; export declare const TEMPLATE_GALLERY_SCHEMA_VERSION: 1; export declare const DEFAULT_TEMPLATE_GALLERY_BASE_PATH = "/vite-cli/"; export declare const STACKBLITZ_PACKAGE_MANAGER = "pnpm@10.8.0"; export declare function createStackBlitzStartCommand(encodedEnvironment: string): string; export type TemplateGalleryConfig = Omit; export interface TemplateArtifactUrls { demo: string; download: string; stackblitz: string; } export interface TemplateArtifactSizes { demo: number; sourceZip: number; stackblitz: number; total: number; } export interface TemplateGalleryEntry { schemaVersion: typeof TEMPLATE_GALLERY_SCHEMA_VERSION; slug: string; name: string; config: TemplateGalleryConfig; urls: TemplateArtifactUrls; sizes: TemplateArtifactSizes; commit: string; } export interface TemplateGalleryManifest { schemaVersion: typeof TEMPLATE_GALLERY_SCHEMA_VERSION; commit: string; generatedAt: string; count: number; entries: TemplateGalleryEntry[]; } export interface StackBlitzProjectPayload { title: string; description: string; template: 'node'; files: Record; } /** * 生成相对于 Pages 根目录的制品路径。 * @param slug 矩阵组合公开标识 * @returns 三类公开制品路径 */ export declare function createTemplateArtifactUrls(slug: string): TemplateArtifactUrls; /** * 规范化 GitHub Pages 仓库根路径。 * @param value 原始 base path * @returns 包含首尾斜杠的 base path */ export declare function normalizeTemplateGalleryBasePath(value: string): string; /** * 生成 VITE_APP_CODE 使用的无首尾斜杠路径。 * @param slug 矩阵组合公开标识 * @param basePath Pages 仓库根路径 * @returns Demo 对应 app code */ export declare function createTemplateDemoAppCode(slug: string, basePath?: string): string; /** * 校验并解析 Pages 发布的 manifest。 * @param value fetch 得到的未知 JSON * @returns 类型化 manifest */ export declare function parseTemplateGalleryManifest(value: unknown): TemplateGalleryManifest; /** * 校验单个 shard 导出的组合 metadata。 * @param value metadata JSON * @returns 类型化展厅条目 */ export declare function parseTemplateGalleryEntry(value: unknown): TemplateGalleryEntry; /** * 校验 StackBlitz 懒加载项目数据。 * @param value fetch 得到的未知 JSON * @returns 可交给 StackBlitz SDK 的项目 */ export declare function parseStackBlitzProjectPayload(value: unknown): StackBlitzProjectPayload;