import { SDK } from '@iota-big3/sdk-core';
import type { NextFunction, Request, Response } from 'express';
export interface LoggingConfig {
    enabled?: boolean;
    level?: 'debug' | 'info' | 'warn' | 'error';
    includeBody?: boolean;
    includeHeaders?: boolean;
    colorize?: boolean;
    metricsPrefix?: string;
}
export interface LoggingRequest extends Request {
    id: string;
    startTime: number;
    sdk?: SDK;
}
export interface LoggingResponse extends Response {
    logData?: {
        statusCode?: number;
        body?: unknown;
        error?: Error | unknown;
    };
}
export declare function createLoggingMiddleware(sdk: SDK, config?: LoggingConfig): (req: LoggingRequest, res: LoggingResponse, next: NextFunction) => void;
export declare function loggingMiddleware(options?: {
    sdk?: SDK;
    config?: LoggingConfig;
}): (req: LoggingRequest, res: LoggingResponse, next: NextFunction) => void;
export declare function createLegacyLoggingMiddleware(metadata: any, tribe?: string): (req: LoggingRequest, res: LoggingResponse, next: NextFunction) => void;
export default createLoggingMiddleware;
//# sourceMappingURL=logging-middleware.d.ts.map