/**
 * Environment-based configuration for Pino logger
 */
import type { EnhancedLoggerConfig, LoggerConfig } from './types.js';
/**
 * Get the default log directory based on platform
 * Follows OS conventions:
 * - macOS: ~/Library/Logs/nanocoder
 * - Linux: ~/.local/state/nanocoder/logs (XDG_STATE_HOME)
 * - Windows: %LOCALAPPDATA%/nanocoder/logs
 */
export declare function getDefaultLogDirectory(): string;
/**
 * Create development configuration
 */
export declare function createDevelopmentConfig(): EnhancedLoggerConfig;
/**
 * Create production configuration
 *
 * In production, we want:
 * - File logging enabled at 'info' level by default (for diagnostics)
 * - Console/UI output silent (to avoid polluting the user interface)
 *
 * The log level here controls what gets written to files.
 * Console output is suppressed by using file-only transport.
 */
export declare function createProductionConfig(): EnhancedLoggerConfig;
/**
 * Create test configuration
 */
export declare function createTestConfig(): EnhancedLoggerConfig;
/**
 * Get configuration based on current environment
 *
 * For CLI tools, we default to production (silent) behavior when NODE_ENV is not set.
 * This gives users a clean experience. Developers working on nanocoder itself should
 * explicitly set NODE_ENV=development to see debug logs.
 */
export declare function getEnvironmentConfig(): EnhancedLoggerConfig;
/**
 * Validate log level
 */
export declare function validateLogLevel(level: string): boolean;
/**
 * Normalize log level string
 */
export declare function normalizeLogLevel(level: string): string;
/**
 * Create configuration with overrides
 */
export declare function createConfig(overrides?: Partial<LoggerConfig>): EnhancedLoggerConfig;
//# sourceMappingURL=config.d.ts.map