import { Elysia } from 'elysia'; import { Logger } from './logger.node'; import type { ContextData } from './types'; export interface ElysiaLoggerConfig { logger?: Logger; logRequests?: boolean; logResponses?: boolean; excludePaths?: string[]; } /** * Simple ElysiaJS Logger Plugin * Provides automatic request logging and tracing */ export declare function elysiaLogger(config?: ElysiaLoggerConfig): (app: T) => Elysia<"", { decorator: {}; store: {}; derive: {}; resolve: {}; }, { typebox: {}; error: {}; }, { schema: {}; standaloneSchema: {}; macro: {}; macroFn: {}; parser: {}; response: {}; }, {}, { derive: {}; resolve: {}; schema: {}; standaloneSchema: {}; response: {}; }, { derive: ({ readonly logger: Logger; readonly requestContext?: undefined; readonly startTime?: undefined; } | { readonly logger: Logger; readonly requestContext: ContextData; readonly startTime: number; }) & { readonly logInfo: (message: string, metadata?: Record) => void; readonly logError: (message: string, error?: Error, metadata?: Record) => void; readonly traceOperation: (operationName: string, operation: () => T_1 | Promise) => Promise; }; resolve: {}; schema: {}; standaloneSchema: {}; response: import("elysia").ExtractErrorFromHandle<{ readonly logInfo: (message: string, metadata?: Record) => void; readonly logError: (message: string, error?: Error, metadata?: Record) => void; readonly traceOperation: (operationName: string, operation: () => T_1 | Promise) => Promise; }>; }>;