/**
 * Custom OpenSearch Span Exporter
 *
 * Writes OTel spans directly to an OpenSearch cluster using the same
 * observability data source config that the trace reader uses.
 * Formats spans in OSIS-compatible format (flattened attributes with @ separator)
 * so they co-exist with agent spans already in the index.
 */
import { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-node';
import { ExportResult } from '@opentelemetry/core';
/**
 * Configuration for the OpenSearch exporter
 */
export interface OpenSearchExporterConfig {
    /** OpenSearch endpoint URL */
    endpoint: string;
    /** Basic auth username */
    username?: string;
    /** Basic auth password */
    password?: string;
    /** Index pattern to write to (default: otel-v1-apm-span-000001) */
    indexName?: string;
    /** Whether to skip TLS verification */
    tlsSkipVerify?: boolean;
}
/**
 * Custom SpanExporter that writes directly to OpenSearch.
 *
 * Formats spans in OSIS-compatible format so eval spans co-exist
 * with agent spans in the same otel-v1-apm-span-* indices.
 */
export declare class OpenSearchSpanExporter implements SpanExporter {
    private client;
    private indexName;
    private shutdownRequested;
    constructor(config: OpenSearchExporterConfig);
    export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
    private _export;
    shutdown(): Promise<void>;
    forceFlush(): Promise<void>;
}
//# sourceMappingURL=opensearchExporter.d.ts.map