import type { PluginOptions } from './types';
/**
 * 路由生成器类
 */
export declare class RouteGenerator {
    private options;
    private routeTemplateFunction;
    private messages;
    constructor(options: PluginOptions);
    private get msg();
    /**
     * 标准化路径
     * @param path 路径
     * @returns 标准化后的路径
     */
    private normalizePath;
    /**
     * 确保必要的目录存在
     */
    private ensureDirectoriesExist;
    /**
     * 生成路由配置
     */
    generate(): Promise<void>;
    /**
     * 扫描文件
     * @returns 匹配的文件路径数组
     */
    private scanFiles;
    /**
     * 生成导入声明
     * @param files 文件路径数组
     * @returns 导入声明数组
     */
    private generateImports;
    /**
     * 生成路由配置
     * @param files 文件路径数组
     * @returns 路由节点数组
     */
    private generateRoutes;
    /**
     * 写入路由文件
     * @param routes 路由配置
     * @param imports 导入声明
     * @param dirName 目录名
     * @param forceOverwrite 是否强制覆盖
     */
    private writeRouteFile;
    /**
     * 检查文件否存在
     * @param filePath 文件路径
     * @returns 是否存在
     */
    private fileExists;
    /**
     * 获取组件名称
     * @param file 文件路径
     * @returns 组件名称
     */
    private getComponentName;
    /**
     * 获取导入路径
     * @param file 文件路径
     * @returns 导入路径
     */
    private getImportPath;
    /**
     * 获取路由路径
     * @param dir 目录名
     * @returns 路由路径
     */
    private getRoutePath;
    /**
     * 获取子路由路径
     * @param file 文件路径
     * @returns 子路由路径
     */
    private getSubRoutePath;
    /**
     * 获取路由基础名称
     * @param dir 目录名
     * @returns 路由基础名称
     */
    private getRouteBaseName;
    /**
     * 获取路由名称
     * @param dir 目录名
     * @param file 文件路径
     * @returns 路由名称
     */
    private getRouteName;
    /**
     * 按目录分组文件
     * @param files 文件路径数组
     * @returns 分组后的文件映射
     */
    private groupFilesByDirectory;
    /**
     * 加载路由模板函数
     */
    private loadRouteTemplate;
    /**
     * 生成路由文件内容
     */
    private generateRouteFileContent;
    /**
     * 转换为帕斯卡命名法（PascalCase）
     * @param str 输入字符串
     * @returns 转换后的字符串
     */
    private toPascalCase;
}
//# sourceMappingURL=generator.d.ts.map