/** * SyncEngine Tests * * Tests for the core sync engine with mocked dependencies. */ import type { SkillVersionRepository } from '../../src/repositories/SkillVersionRepository.js'; import type { SkillsmithApiClient, ApiSearchResult } from '../../src/api/client.js'; /** * Create a mock SkillVersionRepository for testing. * All methods return resolved promises so SyncEngine can call recordVersion * after each upsert without errors. */ export declare function createMockSkillVersionRepo(): SkillVersionRepository; /** * Create a mock skill for testing * Note: quality_score must be between 0 and 1 (database constraint) */ export declare function createMockSkill(id: string, updatedAt?: string): ApiSearchResult; /** * Create a mock API client with customizable behavior. * * SyncEngine fetches via `syncRegistry()` (the Team/Enterprise bulk * registry-enumeration endpoint, SMI-6197) rather than the old 8-broad-query * abuse of `search()` — this mock paginates the same `skills` fixture array * against `syncRegistry`'s `{ limit, offset, since }` signature. It does NOT * filter by `since` itself (SyncEngine's own client-side * `updated_at > lastSyncAt` filter is what's under test in the differential * sync tests below) — `since` forwarding is asserted separately via the mock's * call arguments. */ export declare function createMockApiClient(config?: { offline?: boolean; healthStatus?: 'healthy' | 'degraded' | 'unhealthy'; skills?: ApiSearchResult[]; throwOnFetch?: Error; }): SkillsmithApiClient; //# sourceMappingURL=SyncEngine.test.d.ts.map