/**
 * Cache ID detection utilities for cache functionality
 * Cache ID format: <ciProvider>_<repoName>_<branch>
 * Example: gh_playwright-tests_main
 */
/**
 * Cache identification information
 */
export interface CacheIdInfo {
    cacheId: string;
    pipelineId: string;
    commit: string;
    branch: string;
    repository: string;
    ciProvider: string;
    source: 'ci' | 'local' | 'custom';
}
/**
 * Service for detecting and generating cache IDs
 */
export declare class CacheIdDetector {
    /**
     * Detect cache ID and related metadata from environment.
     * Format: <ciProvider>_<repoName>_<branch>
     * Supports custom cache ID via TESTDINO_CACHE_ID env var or --cache-id flag.
     * Supports custom branch and commit via --branch and --commit flags.
     */
    static detectCacheId(customCacheId?: string, customBranch?: string, customCommit?: string): Promise<CacheIdInfo>;
    /**
     * Collect metadata from Git and CI collectors
     */
    private static collectMetadata;
    /**
     * Generate cache ID from environment
     * Format: <ciProvider>_<repoName>_<branch>
     */
    private static generateCacheId;
    /**
     * Extract repository name from full repo string
     * "owner/repo" → "repo"
     */
    private static extractRepoName;
    /**
     * Get CI provider prefix for cache ID
     */
    private static getCIProviderPrefix;
    /**
     * Sanitize component for cache ID (remove special characters)
     */
    private static sanitizeComponent;
    /**
     * Generate hash from string
     */
    private static generateHash;
    /**
     * Validate cache ID format
     */
    static validateCacheId(cacheId: string): boolean;
    /**
     * Get cache context information for logging using existing collectors
     */
    static getCacheContext(): Promise<Record<string, string | undefined>>;
}
//# sourceMappingURL=build-detector.d.ts.map