/**
 * Storage Manager - Centralized storage management for CCW
 * Provides info, cleanup, and configuration for ~/.ccw/ storage
 */
/**
 * Storage statistics for a single project
 */
export interface ProjectStorageStats {
    projectId: string;
    totalSize: number;
    cliHistory: {
        exists: boolean;
        size: number;
        recordCount?: number;
    };
    memory: {
        exists: boolean;
        size: number;
    };
    cache: {
        exists: boolean;
        size: number;
    };
    config: {
        exists: boolean;
        size: number;
    };
    lastModified: Date | null;
}
/**
 * Global storage statistics
 */
export interface StorageStats {
    rootPath: string;
    totalSize: number;
    globalDb: {
        exists: boolean;
        size: number;
    };
    projects: ProjectStorageStats[];
    projectCount: number;
}
/**
 * Storage configuration
 */
export interface StorageConfig {
    dataDir: string;
    isCustom: boolean;
    envVar: string | undefined;
}
/**
 * Get storage statistics for a specific project by ID (legacy)
 */
export declare function getProjectStorageStats(projectId: string): ProjectStorageStats;
/**
 * Get all storage statistics
 * Supports hierarchical project structure
 */
export declare function getStorageStats(): StorageStats;
/**
 * Get current storage configuration
 */
export declare function getStorageConfig(): StorageConfig;
/**
 * Format bytes to human readable string
 */
export declare function formatBytes(bytes: number): string;
/**
 * Format date to relative time
 */
export declare function formatTimeAgo(date: Date | null): string;
/**
 * Clean storage for a specific project
 */
export declare function cleanProjectStorage(projectId: string, options?: {
    cliHistory?: boolean;
    memory?: boolean;
    cache?: boolean;
    config?: boolean;
    all?: boolean;
}): {
    success: boolean;
    freedBytes: number;
    errors: string[];
};
/**
 * Clean all storage
 */
export declare function cleanAllStorage(options?: {
    cliHistory?: boolean;
    memory?: boolean;
    cache?: boolean;
    config?: boolean;
    globalDb?: boolean;
    all?: boolean;
}): {
    success: boolean;
    freedBytes: number;
    projectsCleaned: number;
    errors: string[];
};
/**
 * Get project ID from project path
 */
export declare function resolveProjectId(projectPath: string): string;
/**
 * Check if a project ID exists in storage
 */
export declare function projectExists(projectId: string): boolean;
/**
 * Get storage location instructions for changing it
 */
export declare function getStorageLocationInstructions(): string;
//# sourceMappingURL=storage-manager.d.ts.map