import { RawiConfig, RawiCredentials } from '../../shared/types.cjs'; interface IConfigPersistence { readConfig(): RawiConfig; writeConfig(config: RawiConfig): void; ensureConfigDir(): void; configExists(): boolean; backupConfig(): void; restoreConfig(): void; } interface IConfigValidator { validateCredentials(credentials: RawiCredentials): ValidationResult; validateApiKey(apiKey: string, provider: string): ValidationResult; validateSettings(credentials: RawiCredentials): ValidationResult; } interface ValidationResult { isValid: boolean; errors: string[]; warnings: string[]; } export type { IConfigPersistence, IConfigValidator, ValidationResult };