import { TelemetryAttributes, TelemetryLayerType, TelemetryMiddlewareService, TelemetryOperationType } from "../index"; import { UnifiedHttpContext } from "@inh-lib/unified-route"; export type UnifiedProcessorFunction = (...args: Args) => R | Promise; export interface UnifiedProcessorOptions { operationType?: TelemetryOperationType; layer?: TelemetryLayerType; attributes?: TelemetryAttributes; } export declare class UnifiedTelemetryProcessor { private readonly telemetryService; private readonly fn; private readonly operationName; private readonly options; constructor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string, options?: UnifiedProcessorOptions); process(...args: Args): Promise; private safeAttributes; } export declare function createProcessor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string): UnifiedTelemetryProcessor; export declare function createDatabaseProcessor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string, tableName?: string): UnifiedTelemetryProcessor; export declare function createServiceQueryProcessor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string): UnifiedTelemetryProcessor; export declare function createServiceCommandProcessor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string): UnifiedTelemetryProcessor; export declare function createApiProcessor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string): UnifiedTelemetryProcessor; export declare function createIntegrationProcessor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string): UnifiedTelemetryProcessor; export declare function createLogicProcessor(telemetryService: TelemetryMiddlewareService, fn: UnifiedProcessorFunction, operationName: string, layer?: TelemetryLayerType): UnifiedTelemetryProcessor;