/** * Resolve the canonical `@wp-typia/project-tools` package root. * * When `WP_TYPIA_PROJECT_TOOLS_PACKAGE_ROOT` is set, the override is only * accepted if it points at a readable package manifest whose `name` matches * `@wp-typia/project-tools`. Invalid or stale overrides are ignored and normal * upward package-root discovery continues. */ export declare function resolvePackageRoot(startDir: string): string; export declare const PROJECT_TOOLS_PACKAGE_ROOT: string; export declare const TEMPLATE_ROOT: string; export declare const SHARED_TEMPLATE_ROOT: string; export declare const SHARED_BASE_TEMPLATE_ROOT: string; export declare const SHARED_COMPOUND_TEMPLATE_ROOT: string; export declare const SHARED_PERSISTENCE_TEMPLATE_ROOT: string; export declare const SHARED_PRESET_TEMPLATE_ROOT: string; export declare const SHARED_REST_HELPER_TEMPLATE_ROOT: string; export declare const SHARED_MIGRATION_UI_TEMPLATE_ROOT: string; /** * Shared workspace template overlay root used by workspace scaffolding flows. */ export declare const SHARED_WORKSPACE_TEMPLATE_ROOT: string; export declare const SHARED_TEST_PRESET_TEMPLATE_ROOT: string; export declare const SHARED_WP_ENV_PRESET_TEMPLATE_ROOT: string; export declare const BUILTIN_TEMPLATE_IDS: readonly ['basic', 'interactivity', 'persistence', 'compound', 'query-loop']; export declare const OFFICIAL_WORKSPACE_TEMPLATE_PACKAGE = "@wp-typia/create-workspace-template"; export declare const OFFICIAL_WORKSPACE_TEMPLATE_ALIAS = "workspace"; export type BuiltInTemplateId = (typeof BUILTIN_TEMPLATE_IDS)[number]; export type PersistencePolicy = 'authenticated' | 'public'; export interface TemplateDefinition { id: string; description: string; defaultCategory: string; features: string[]; templateDir: string; } export declare const TEMPLATE_REGISTRY: readonly TemplateDefinition[]; export declare const TEMPLATE_IDS: BuiltInTemplateId[]; export declare function isBuiltInTemplateId(templateId: string): templateId is BuiltInTemplateId; /** * Returns whether a template id matches the user-facing official workspace alias. * * @param templateId Template id or alias supplied by a caller. * @returns `true` when the id is the `workspace` alias. */ export declare function isOfficialWorkspaceTemplateAlias(templateId: string): boolean; /** * Converts user-facing template aliases into the registry lookup id. * * @param templateId Template id or alias supplied by a caller. * @returns The registry id used for template resolution. */ export declare function normalizeTemplateLookupId(templateId: string): string; /** * Converts internal template ids into the id shown in human-facing output. * * @param templateId Template id stored in the registry. * @returns The user-facing template id or alias for display. */ export declare function getUserFacingTemplateId(templateId: string): string; export declare function listTemplates(): readonly TemplateDefinition[]; export declare function getTemplateById(templateId: string): TemplateDefinition; export declare function getTemplateSelectOptions(): Array<{ label: string; value: string; hint: string; }>;