import { type TemplateKey } from "../types/types"; import { Template } from "./template"; declare class TemplateManagerClass { private templates; isAutoloaded: boolean; /** * 빌트인 템플릿 로드 (implementations/*.template.js) */ autoload(): Promise; /** * 템플릿 다시 로드 */ reload(): Promise; /** * 프로젝트 디렉토리에서 커스텀 템플릿 로드 */ loadFromDirectory(dir: string): Promise; private isTemplateClass; /** * 템플릿 등록 */ register(template: Template): void; /** * 여러 템플릿 등록 */ registerAll(templates: Template[]): void; /** * 템플릿 조회 * 빌트인 : 자동완성 지원 * 커스텀 : 임의 문자열 지원 */ get(key: TemplateKey | (string & {})): Template; /** * 템플릿 존재 여부 */ exists(key: string): boolean; /** * 모든 템플릿 키 목록 */ getAllKeys(): string[]; /** * 등록된 템플릿 개수 */ get size(): number; /** * 모든 상태 초기화 (테스트용) */ reset(): void; /** * 격리된 인스턴스 생성 (테스트용) */ static createInstance(): TemplateManagerClass; } export declare const TemplateManager: TemplateManagerClass; export { TemplateManagerClass }; //# sourceMappingURL=template-manager.d.ts.map