/** One entry in the package template manifest (metadata only, no file bodies). */ export interface TemplateManifestEntry { /** Template id, e.g. "ui-db". The scaffold dir is `${id}-app`. */ id: string; /** Short human label. */ label: string; /** One-line description for listing. */ description: string; /** Optional discovery tags. */ tags?: string[]; } /** * Absolute path to the package `templates/` root. The server's gitignore-aware * file reader (`server/apps/apps.template-files.ts`) points its scan root here * so there is exactly one on-disk source for scaffold files. */ export declare function templatesRoot(): string; /** Read the template manifest (metadata for listing). */ export declare function templateManifest(): TemplateManifestEntry[]; /** Absolute path to a template's scaffold dir. */ export declare function templateDir(id: string): string; /** Absolute path to the shared scaffold dir merged into every app. */ export declare function sharedTemplateDir(): string; /** Whether a template id has a scaffold dir in this package. */ export declare function templateExists(id: string): boolean; /** Relative file paths in a template's scaffold dir. */ export declare function listTemplateFiles(id: string): string[]; /** Relative file paths in the shared scaffold dir. */ export declare function listSharedFiles(): string[]; /** Read one scaffold file's raw contents. Throws if missing. */ export declare function readTemplateFile(id: string, relPath: string): string; /** Read one shared scaffold file's raw contents. Throws if missing. */ export declare function readSharedFile(relPath: string): string;