import { type FrontendProjectProfile } from "../project/index.js"; export type FrontendSceneCategory = "list" | "detail" | "purchase"; export type FrontendSceneTemplateLanguage = "auto" | "ts" | "js"; export type FrontendSceneTemplateCopyMode = "full-sfc" | "composition-only"; export type FrontendSceneTemplateId = "list-basic" | "list-status" | "detail-tabs" | "detail-simple" | "detail-descriptions" | "detail-breadcrumb" | "purchase-layout" | "purchase-basic" | "purchase-network" | "purchase-security"; type ComponentPackageName = "@ksyun-internal/versatile" | "@king-design/vue"; interface SceneTemplateVariant { id: "versatile" | "kpc"; packageName: ComponentPackageName; sourceFile: string; components: Partial>; } export interface FrontendSceneTemplateDefinition { id: FrontendSceneTemplateId; category: FrontendSceneCategory; title: string; description: string; keywords: string[]; variants: SceneTemplateVariant[]; filePlan: string[]; adaptationRules: string[]; } export interface FrontendSceneTemplateSummary { id: FrontendSceneTemplateId; category: FrontendSceneCategory; title: string; description: string; score: number; } export interface FrontendSceneTemplateOptions { language?: FrontendSceneTemplateLanguage; targetFile?: string; } export interface ResolvedFrontendSceneTemplate { query: string; selected: FrontendSceneTemplateSummary & { compatible: boolean; variant?: SceneTemplateVariant["id"]; packageName?: ComponentPackageName; installedVersion?: string; sourceFile?: string; requiredRootComponent?: string; componentQueries: Array<{ packageName: ComponentPackageName; installedVersion: string; components: string[]; }>; filePlan: string[]; adaptationRules: string[]; source?: string; supportingFiles?: Array<{ role: "types" | "mock" | "utils"; suggestedPath: string; sourceFile: string; source: string; }>; language?: Exclude; languageReason?: string; scriptStyle?: "script-setup" | "options-api"; copyMode?: FrontendSceneTemplateCopyMode; targetFile?: string; scriptAdapterFile?: string; missingPackages?: ComponentPackageName[]; }; alternatives: FrontendSceneTemplateSummary[]; next: string[]; } export declare const FRONTEND_SCENE_TEMPLATES: readonly FrontendSceneTemplateDefinition[]; export declare function sceneTemplateScore(template: FrontendSceneTemplateDefinition, query: string): number; export declare function findFrontendSceneTemplates(query: string, limit?: number): FrontendSceneTemplateSummary[]; export declare function resolveFrontendSceneTemplate(profile: FrontendProjectProfile, query: string, options?: FrontendSceneTemplateOptions): Promise; export {}; //# sourceMappingURL=scene-templates.d.ts.map