export declare enum LogLevel {
    TRACE = -1,
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3,
    NONE = 4
}
interface LoggerOptions {
    level?: LogLevel;
    prefix?: string;
}
/**
 * Simple logger with color output
 */
export declare class Logger {
    private contextName;
    private level;
    private prefix;
    constructor(contextName: string, options?: LoggerOptions);
    /**
     * Get the global log level from environment variable or use default INFO level
     */
    private getGlobalLogLevel;
    /**
     * Format log message with timestamp and context
     */
    private formatMessage;
    /**
     * Format an object for logging
     */
    private formatObject;
    /**
     * Log trace message (only if log level is TRACE)
     */
    trace(message: string | object): void;
    /**
     * Log debug message (only if log level is TRACE or DEBUG)
     */
    debug(message: string | object): void;
    /**
     * Log info message (if log level is TRACE, DEBUG or INFO)
     */
    info(message: string | object): void;
    /**
     * Log success message (if log level is TRACE, DEBUG or INFO)
     */
    success(message: string | object): void;
    /**
     * Log warning message (if log level is TRACE, DEBUG, INFO or WARN)
     */
    warn(message: string | object): void;
    /**
     * Log error message (if log level is TRACE, DEBUG, INFO, WARN or ERROR)
     */
    error(message: string | object): void;
    /**
     * Log an object as JSON
     */
    json(label: string, obj: any): void;
    /**
     * Log HTTP request details
     */
    httpRequest(method: string, url: string, headers: Record<string, string>, body?: any): void;
    /**
     * Log HTTP response details
     */
    httpResponse(status: number, statusText: string, headers: Record<string, string>, body?: any): void;
    /**
     * Log a Terraform-style creating message
     */
    creating(resourceType: string, id: string): void;
    /**
     * Log a Terraform-style created message
     */
    created(resourceType: string, id: string, timeTaken: number): void;
    /**
     * Log a Terraform-style updating message
     */
    updating(resourceType: string, id: string): void;
    /**
     * Log a Terraform-style updated message
     */
    updated(resourceType: string, id: string, timeTaken: number): void;
    /**
     * Log a Terraform-style completion summary
     */
    completionSummary(added: number, changed: number, destroyed: number): void;
}
export {};
