/**
 * Settings Service
 *
 * Provides global access to application settings within the CLI.
 * Uses globalThis/process storage so the singleton survives Turbopack
 * module re-evaluations in Next.js API routes.
 *
 * Usage:
 * ```typescript
 * import { getSettings } from './infrastructure/services/settings.service.js';
 *
 * const settings = getSettings();
 * console.log(settings.models.default); // 'claude-sonnet-4-6'
 * ```
 */
import type { Settings } from '../../domain/generated/output.js';
/**
 * Initialize the settings service with loaded settings.
 * Must be called once during CLI bootstrap.
 *
 * @param settings - The initialized settings
 * @throws Error if settings are already initialized
 */
export declare function initializeSettings(settings: Settings): void;
/**
 * Get the current application settings.
 *
 * @returns Current settings instance
 * @throws Error if settings haven't been initialized yet
 *
 * @example
 * ```typescript
 * const settings = getSettings();
 * console.log(settings.system.logLevel); // 'info'
 * ```
 */
export declare function getSettings(): Settings;
/**
 * Check if settings have been initialized.
 *
 * @returns True if settings are initialized, false otherwise
 */
export declare function hasSettings(): boolean;
/**
 * Update the settings singleton with new values.
 * Used after a successful database write to refresh the in-memory
 * singleton so the rest of the application sees the updated values
 * without a full page reload.
 *
 * @param settings - The updated settings to store
 * @throws Error if settings haven't been initialized yet
 */
export declare function updateSettings(settings: Settings): void;
/**
 * Reset settings instance (for testing purposes only).
 * DO NOT use in production code.
 *
 * @internal
 */
export declare function resetSettings(): void;
//# sourceMappingURL=settings.service.d.ts.map