import type { Attributes } from '@opentelemetry/api';
import type { LogRecordProcessor, SdkLogRecord } from '@opentelemetry/sdk-logs';
/**
 * Metadata log processor that injects metadata (room_id, job_id) into all log records.
 */
export declare class MetadataLogProcessor implements LogRecordProcessor {
    private metadata;
    constructor(metadata: Attributes);
    onEmit(logRecord: SdkLogRecord): void;
    shutdown(): Promise<void>;
    forceFlush(): Promise<void>;
}
/**
 * Extra details processor that adds logger name to log records.
 */
export declare class ExtraDetailsProcessor implements LogRecordProcessor {
    onEmit(logRecord: SdkLogRecord): void;
    shutdown(): Promise<void>;
    forceFlush(): Promise<void>;
}
/**
 * Log counterpart of `PIIFilteringSpanProcessor`, for a logger provider the integrator
 * builds themselves.
 *
 * Once the project mandates redaction the filtering applies to every destination, so the
 * client never depends on a collector to strip a newly added key. Register it ahead of any
 * exporting processor.
 */
export declare class PIIFilteringLogProcessor implements LogRecordProcessor {
    onEmit(logRecord: SdkLogRecord): void;
    shutdown(): Promise<void>;
    forceFlush(): Promise<void>;
}
//# sourceMappingURL=logging.d.ts.map