import type { ConfigSnapshot } from '../../../domain/entities/ConfigSnapshot.js'; /** * IConfigSnapshotRepository - Outbound Port * Port interface for config snapshot persistence */ export interface IConfigSnapshotRepository { /** * Save a config snapshot */ save(snapshot: ConfigSnapshot): Promise; /** * Find a config snapshot by ID */ findById(id: string): Promise; /** * Find all config snapshots with pagination (across all servers) */ findAll(limit?: number, offset?: number): Promise; /** * Find config snapshots by server name with pagination */ findByServer(serverName: string, limit?: number, offset?: number): Promise; /** * Count config snapshots for a server */ countByServer(serverName: string): Promise; /** * Delete a config snapshot by ID */ delete(id: string): Promise; /** * Delete all config snapshots for a server */ deleteByServer(serverName: string): Promise; /** * Find config snapshots by schedule ID, ordered by created_at DESC */ findByScheduleId(scheduleId: string): Promise; /** * Count config snapshots for a schedule */ countByScheduleId(scheduleId: string): Promise; } //# sourceMappingURL=IConfigSnapshotRepository.d.ts.map