import type { ExportResult } from "@opentelemetry/core";
import { OTLPExporterBase } from "@opentelemetry/otlp-exporter-base";
import type { ReadableLogRecord } from "@opentelemetry/sdk-logs";
import type { PushMetricExporter, ResourceMetrics } from "@opentelemetry/sdk-metrics";
import type { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
import type { NodeSDKConfig } from "../index.js";
type O11yOTLPSignal = (ReadableSpan | ReadableLogRecord)[] | ResourceMetrics;
export declare class PIIExporterDecorator extends OTLPExporterBase<O11yOTLPSignal> implements SpanExporter, PushMetricExporter {
    private readonly _exporter;
    private readonly _config;
    private readonly _redactors;
    constructor(exporter: OTLPExporterBase<O11yOTLPSignal>, config: NodeSDKConfig | undefined);
    forceFlush(): Promise<void>;
    shutdown(): Promise<void>;
    export(items: (ReadableSpan | ReadableLogRecord)[] | ResourceMetrics, resultCallback: (result: ExportResult) => void): void;
    private _isReadableSpan;
    private _isReadableLogRecord;
    private _isResourceMetrics;
    private _redactSpan;
    private _redactLogRecord;
    private _redactResourceMetrics;
    private _buildRedactors;
}
export {};
