/** * Mock cloud client for LOCAL DEVELOPMENT AND TESTING ONLY. * * ⚠️ WARNING: This is NOT a production implementation! * * This mock client: * - Stores data locally in ~/.bellwether/mock-cloud/ as JSON files * - Simulates cloud API responses for development purposes * - Does NOT sync data to any remote server * - Should ONLY be used with mock sessions (sess_mock_*) * * For production use, connect to the real Bellwether Cloud API. * * Usage: * bellwether login --mock # Creates a mock session for development */ import type { BellwetherCloudClient, CloudUser, Project, BaselineVersion, UploadResult, DiffSummary, BellwetherBaseline, StoredSession, BadgeInfo, CloudBenchmarkResult, BenchmarkSubmissionResult } from './types.js'; /** * Mock cloud client implementation for development and testing. * * ⚠️ DEVELOPMENT ONLY - NOT FOR PRODUCTION USE! * * This client: * - Stores all data locally in ~/.bellwether/mock-cloud/ * - Provides a full implementation of the BellwetherCloudClient interface * - Does NOT communicate with any remote servers * - Should only be used with mock sessions (generated via `bellwether login --mock`) * * Features that work differently in mock mode: * - Badge URLs point to shields.io for display purposes only * - Project URLs are local file:// paths * - No data synchronization across machines * * For production deployments, use the real CloudClient with proper authentication. */ export declare class MockCloudClient implements BellwetherCloudClient { private dataDir; private sessionToken; /** * Create a new MockCloudClient. * * @param sessionToken - A mock session token (must start with 'sess_mock_') */ constructor(sessionToken?: string); /** * Ensure the mock data directory exists. */ private ensureDataDir; /** * Get path to projects file. */ private get projectsFile(); /** * Get path to baselines file for a project. */ private getBaselinesFile; /** * Get path to a specific baseline data file. */ private getBaselineDataFile; /** * Load projects from storage. */ private loadProjects; /** * Save projects to storage. */ private saveProjects; /** * Load baselines for a project. */ private loadBaselines; /** * Save baselines for a project. */ private saveBaselines; isAuthenticated(): boolean; whoami(): Promise; listProjects(): Promise; createProject(name: string, serverCommand: string): Promise; getProject(projectId: string): Promise; deleteProject(projectId: string): Promise; uploadBaseline(projectId: string, baseline: BellwetherBaseline): Promise; getHistory(projectId: string, limit?: number): Promise; getBaseline(baselineId: string): Promise; getDiff(projectId: string, fromVersion: number, toVersion: number): Promise; getLatestDiff(projectId: string): Promise; getBadgeInfo(projectId: string): Promise; submitBenchmark(projectId: string, result: CloudBenchmarkResult, report?: Record): Promise; /** * Compute diff between two baselines. */ private computeDiff; } /** * Generate a mock session for development. */ export declare function generateMockSession(username?: string): StoredSession; /** * Get the mock data directory path. */ export declare function getMockDataDir(): string; /** * Clear all mock data (for testing). */ export declare function clearMockData(): void; //# sourceMappingURL=mock-client.d.ts.map