/** * Shared test utilities and mocks for RecCall tests */ import type { IContextStorage, ICacheManager, IRecipeValidator, IRepositoryClient, Shortcut } from '../core/interfaces.js'; import type { ShortcutId } from '../types.js'; /** * Mock storage implementation for testing */ export declare class MockStorage implements IContextStorage { private shortcuts; record(shortcut: ShortcutId, context: string, options?: Record): Promise; get(shortcut: ShortcutId): Promise; list(): Promise; update(shortcut: ShortcutId, context: string, options?: Record): Promise; delete(shortcut: ShortcutId): Promise; purge(): Promise; exists(shortcut: ShortcutId): Promise; getByCategory(category: string): Promise; } /** * Mock cache manager implementation */ export declare class MockCacheManager implements ICacheManager { private cache; get(key: string): Promise; set(key: string, data: T, ttl?: number): Promise; delete(key: string): Promise; clear(): Promise; has(key: string): Promise; getStats(): Promise<{ size: number; hitRate: number; missRate: number; }>; } /** * Mock validator implementation */ export declare class MockValidator implements IRecipeValidator { validate(recipe: any): { valid: boolean; errors: string[]; }; validateShortcutId(shortcut: string): { valid: boolean; errors: string[]; }; validateContext(context: string): { valid: boolean; errors: string[]; }; sanitize(recipe: any): any; } /** * Mock repository client implementation */ export declare class MockRepositoryClient implements IRepositoryClient { private manifest; private recipes; setManifest(manifest: any): void; setRecipe(shortcut: string, recipe: any): void; fetchManifest(repoUrl?: any): Promise; fetchRecipe(repoUrl: any, recipeFile: string): Promise; fetchAllRecipes(repoUrl: any): Promise; searchRecipes(repoUrl: any, query: string): Promise; installRecipe(repoUrl: any, shortcut: ShortcutId): Promise; validateRepository(repoUrl: any): Promise; } //# sourceMappingURL=test-utils.d.ts.map