/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import { type ExportResult } from '@opentelemetry/core';
import { type ReadableSpan, type SpanExporter } from '@opentelemetry/sdk-trace-base';
import { type ReadableLogRecord, type LogRecordExporter } from '@opentelemetry/sdk-logs';
import { type ResourceMetrics, type PushMetricExporter, AggregationTemporality } from '@opentelemetry/sdk-metrics';
declare class FileExporter {
    protected filePath: string;
    constructor(filePath: string);
    protected serialize(data: unknown): string;
    protected writeToFile(data: string): void;
    shutdown(): Promise<void>;
}
export declare class FileSpanExporter extends FileExporter implements SpanExporter {
    export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
}
export declare class FileLogExporter extends FileExporter implements LogRecordExporter {
    export(logs: ReadableLogRecord[], resultCallback: (result: ExportResult) => void): void;
}
export declare class FileMetricExporter extends FileExporter implements PushMetricExporter {
    export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): void;
    getPreferredAggregationTemporality(): AggregationTemporality;
    forceFlush(): Promise<void>;
}
export {};
