/** * Simplified translation handler interface */ import type { TranslationData } from '../types/translation-data.types.js'; import type { NamespaceResult, TranslationContext, TranslationRequest, TranslationResult } from '../types/translation.types.js'; /** * Simplified handler interface - no chain management */ export interface IAsyncHandler { readonly name: string; readonly version: string; readonly priority: number; readonly type: 'memory' | 'storage' | 'network' | 'fallback'; readonly enabled: boolean; initialize?(): Promise; destroy?(): Promise; lookup(request: TranslationRequest): Promise; save(request: TranslationRequest, result: TranslationResult): Promise; saveNamespace?(translations: TranslationData, context: TranslationContext): Promise; loadNamespace?(locale: string, namespace: string): Promise; clearCache?(): void; getSourceType(): 'memory' | 'storage' | 'network' | 'fallback'; getCacheStats?(): { size: number; maxSize: number; usage: string; } | undefined; getEntries?(): Record | undefined; isCached?(request: TranslationRequest): boolean; trySync?(request: TranslationRequest): TranslationResult | null; } export interface ISyncHandler { readonly name: string; readonly version: string; readonly priority: number; readonly type: 'memory' | 'storage' | 'network' | 'fallback'; readonly enabled: boolean; initialize?(): void; destroy?(): void; lookup(request: TranslationRequest): TranslationResult; save(request: TranslationRequest, result: TranslationResult): void; saveNamespace?(translations: TranslationData, context: TranslationContext): void; getSourceType(): 'memory' | 'storage' | 'network' | 'fallback'; getEntries?(): Record | undefined; isCached?(request: TranslationRequest): boolean; trySync?(request: TranslationRequest): TranslationResult | null; clearNamespace?(locale: string, namespace: string): void; setCache?(key: string, value: string, styles?: Record): void; } //# sourceMappingURL=handler.interface.d.ts.map