import { SupabaseAdapter } from '../../infrastructure/adapters/supabase.adapter'; import { CliInstanceEntity } from '../../domain/entities/cli-instance.entity'; /** * CLI Instance Repository * Manages CLI instance registration and tracking */ export declare class CliInstanceRepository { private supabase; constructor(supabase: SupabaseAdapter); /** * Get or create a CLI instance * @param instanceInfo - Instance information from system * @returns Instance ID */ getOrCreate(instanceInfo: { instanceName: string; hostname: string; platform: string; platformVersion: string; nodeVersion: string; appVersion: string; downloadDefaultPath: string; downloadFallbackPath: string | null; }): Promise; /** * Update heartbeat for an instance * @param instanceId - Instance ID */ updateHeartbeat(instanceId: string): Promise; /** * Record job completion for an instance * @param instanceId - Instance ID * @param success - Whether job succeeded * @param bytesDownloaded - Bytes downloaded (if successful) */ recordJobCompletion(instanceId: string, success: boolean, bytesDownloaded?: number): Promise; /** * Get instance by ID * @param instanceId - Instance ID * @returns Instance entity or null */ getById(instanceId: string): Promise; /** * Get all active instances * @returns Array of instance entities */ getAllActive(): Promise; /** * Get instance health status * @returns Array of instance health info */ getHealthStatus(): Promise; /** * Update instance status * @param instanceId - Instance ID * @param status - New status */ updateStatus(instanceId: string, status: 'active' | 'inactive' | 'maintenance'): Promise; /** * Map database row to entity */ private mapToEntity; } //# sourceMappingURL=cli-instance.repository.d.ts.map