/**
 * 远程代码获取服务
 * 支持从 CDN 和 Git 仓库获取代码
 */
export declare class RemoteCodeFetcher {
    private logger;
    /**
     * 从 CDN 获取代码
     * @param url 代码 URL
     * @param timeout 超时时间（毫秒）
     * @param authType 认证类型: 'none' | 'token' | 'basic'
     * @param authToken Bearer Token 或 Basic Auth 的密码
     * @param authUsername Basic Auth 的用户名
     */
    private fetchFromCDN;
    /**
     * 检测是否是 Gitea 服务器
     */
    private isGiteaServer;
    /**
     * 检测 URL 是否已经是 Raw 文件 URL（可以直接访问）
     */
    private isRawFileUrl;
    /**
     * 从 URL 中解析分支和文件路径
     * 支持多种格式：
     * - GitHub: https://github.com/owner/repo/blob/branch/path/to/file.tsx
     * - GitHub: https://github.com/owner/repo/tree/branch/path/to/dir
     * - GitLab: https://gitlab.com/owner/repo/-/blob/branch/path/to/file.tsx
     * - GitLab: https://gitlab.com/owner/repo/-/tree/branch/path/to/dir
     * - Gitea: https://gitea.com/owner/repo/src/branch/branch-name/path/to/file.tsx
     * - Raw URLs: https://raw.githubusercontent.com/owner/repo/branch/path/to/file.tsx
     */
    private parseGitUrl;
    /**
     * 从 Git 仓库获取代码（通过 Raw 文件 URL）
     * @param url Git 仓库 URL
     * @param branch 分支名称
     * @param path 文件路径
     * @param authType 认证类型
     * @param authToken 认证 Token
     * @param authUsername 认证用户名（Basic Auth）
     */
    private fetchFromGit;
    /**
     * 获取远程代码
     * @param codeUrl 代码地址
     * @param codeType 代码类型：'cdn' 或 'git'（由前端指定）
     * @param codeBranch Git 分支名称（仅 Git 类型需要）
     * @param codePath Git 文件路径（仅 Git 类型需要）
     * @param authType 认证类型: 'none' | 'token' | 'basic'
     * @param authToken Bearer Token 或 Basic Auth 的密码
     * @param authUsername Basic Auth 的用户名
     */
    fetchCode(codeUrl: string, codeType: 'cdn' | 'git', codeBranch?: string, codePath?: string, authType?: string, authToken?: string, authUsername?: string): Promise<string>;
    /**
     * 检查缓存是否有效（默认缓存 1 小时）
     */
    isCacheValid(cache: {
        content: string;
        timestamp: number;
    } | null, maxAge?: number): boolean;
}
