import type { IConfigSnapshotScheduleUseCase } from '../ports/inbound/IConfigSnapshotScheduleUseCase.js'; import type { IConfigSnapshotScheduleRepository } from '../ports/outbound/IConfigSnapshotScheduleRepository.js'; import { ConfigSnapshotSchedule } from '../../domain/entities/ConfigSnapshotSchedule.js'; /** * ConfigSnapshotScheduleUseCaseImpl * Implements IConfigSnapshotScheduleUseCase for managing config snapshot schedules. * Provides CRUD operations with validation through domain entities. */ export declare class ConfigSnapshotScheduleUseCaseImpl implements IConfigSnapshotScheduleUseCase { private readonly repository; constructor(repository: IConfigSnapshotScheduleRepository); /** * Create a new config snapshot schedule */ create(serverName: string, name: string, cronExpression: string, retentionCount?: number): Promise; /** * Update a config snapshot schedule * Only name, cronExpression, and retentionCount can be updated */ update(id: string, updates: Partial>): Promise; /** * Enable a config snapshot schedule */ enable(id: string): Promise; /** * Disable a config snapshot schedule */ disable(id: string): Promise; /** * Delete a config snapshot schedule */ delete(id: string): Promise; /** * Find all config snapshot schedules (both enabled and disabled) */ findAll(): Promise; /** * Find config snapshot schedules by server name */ findByServer(serverName: string): Promise; /** * Record a schedule run result (update lastRunAt and lastRunStatus) */ recordRun(id: string, status: 'success' | 'failure'): Promise; } //# sourceMappingURL=ConfigSnapshotScheduleUseCase.d.ts.map