/** * @module helpers/logging-decorators * @description Decorators for automatic method entry/exit logging with parameter tracking */ /** * Options for LogMethod decorator */ export interface LogMethodOptions { /** Log level to use (default: 'trace') */ level?: 'trace' | 'debug'; /** Whether to log method parameters (default: true) */ logParams?: boolean; /** Whether to log return value (default: true) */ logReturn?: boolean; /** Maximum parameter depth for serialization (default: 2) */ maxDepth?: number; /** Whether to log async method completion (default: true) */ logAsync?: boolean; } /** * Decorator for automatic method entry/exit logging * * Logs method calls at TRACE level with parameters and return values * Supports both synchronous and asynchronous methods * * @example * ```typescript * class MyService implements ILoggerAware { * logger?: ILogger; * * @LogMethod() * async processData(data: string): Promise { * return data.toUpperCase(); * } * } * ``` */ export declare function LogMethod(options?: LogMethodOptions): (_target: unknown, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; /** * Decorator for logging only method entry (no exit) * Useful for event handlers or fire-and-forget methods */ export declare function LogEntry(options?: Pick): (_target: unknown, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;