import { SatelliteRecord } from '../../domain/satellite-record'; import { IGitHubApiClient } from '../../domain/github-api-client.interface'; import { ILogger } from '../../domain/interfaces'; export interface SyncSatelliteInput { satellite: SatelliteRecord; corePath: string; dryRun?: boolean; filesToSync?: string[]; } export interface SyncedFile { path: string; action: 'created' | 'updated' | 'skipped'; sha?: string; } export interface SyncSatelliteOutput { success: boolean; satellite: SatelliteRecord; syncedFiles: SyncedFile[]; skippedFiles: SyncedFile[]; dryRun: boolean; outputEnvelope: { success: boolean; data: { syncedFiles: SyncedFile[]; skippedFiles: SyncedFile[]; dryRun: boolean; }; meta: { requestId: string; timestamp: string; version: string; }; }; } export declare function enumerateSyncTargets(rootRecord: SatelliteRecord, workspaceDoc: unknown): SatelliteRecord[]; export declare class SyncSatelliteUseCase { private readonly githubClient?; private readonly logger?; constructor(githubClient?: IGitHubApiClient | undefined, logger?: ILogger | undefined); execute(input: SyncSatelliteInput): Promise; }