/**
 * Logging utility for Vibe Feature MCP Server
 *
 * Provides structured logging with proper MCP compliance:
 * - Uses stderr for all local logging (MCP requirement)
 * - Supports MCP log message notifications to client
 * - Provides structured logging with proper levels:
 *   - debug: Tracing and detailed execution flow
 *   - info: Success operations and important milestones
 *   - warn: Expected errors and recoverable issues
 *   - error: Caught but unexpected errors
 */
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3,
    SILENT = 4
}
export interface LogContext {
    component?: string;
    conversationId?: string;
    phase?: string;
    operation?: string;
    [key: string]: unknown;
}
/**
 * Set the MCP server instance for log notifications
 */
export declare function setMcpServerForLogging(server: McpServer): void;
/**
 * Set the logging level from MCP client request
 */
export declare function setMcpLoggingLevel(level: string): void;
declare class Logger {
    private component;
    private explicitLogLevel?;
    constructor(component: string, logLevel?: LogLevel);
    private getCurrentLogLevel;
    private getLogLevelFromEnv;
    private shouldLog;
    private formatMessage;
    /**
     * Send log message to MCP client if server is available and level is appropriate
     */
    private sendMcpLogMessage;
    debug(message: string, context?: LogContext): void;
    info(message: string, context?: LogContext): void;
    /**
     * Send enhanced MCP notifications with better formatting for important events
     */
    private sendEnhancedMcpNotification;
    /**
     * Capitalize phase name for display
     */
    private capitalizePhase;
    warn(message: string, context?: LogContext): void;
    error(message: string, error?: Error, context?: LogContext): void;
    child(childComponent: string): Logger;
}
export declare function createLogger(component: string, logLevel?: LogLevel): Logger;
export declare const logger: Logger;
export {};
