import { BaseOfManager, TemplateInfo } from '../type';
export declare class BaseOf implements BaseOfManager {
    private baseof;
    private needsBaseof;
    getTemplateSearchOrder(templateName: string): string[];
    getBaseOf(key: string): TemplateInfo | null;
    getNeedsBaseOf(key: string): TemplateInfo | null;
    addBaseOf(key: string, info: TemplateInfo): void;
    addNeedsBaseOf(key: string, info: TemplateInfo): void;
    isBaseTemplatePath(filePath: string): boolean;
    needsBaseOf(name: string, rawContent: string): boolean;
    private noBaseNeeded;
    private needsBaseTemplate;
    getAllBaseOf(): Map<string, TemplateInfo>;
    getAllNeedsBaseOf(): Map<string, TemplateInfo>;
    clear(): void;
    getStats(): {
        baseOfCount: number;
        needsBaseOfCount: number;
    };
}
export declare function newBaseOf(): BaseOf;
