import { Event } from '../../../util/vs/base/common/event';
import type { OTelConfig } from './otelConfig';
import type { ICompletedSpanData, IOTelService, ISpanEventData, ISpanHandle, SpanOptions, TraceContext } from './otelService';
/**
 * No-op implementation of IOTelService.
 * All methods are zero-cost when OTel is disabled.
 */
export declare class NoopOTelService implements IOTelService {
    readonly _serviceBrand: undefined;
    readonly config: OTelConfig;
    constructor(config: OTelConfig);
    startSpan(_name: string, _options?: SpanOptions): ISpanHandle;
    startActiveSpan<T>(_name: string, _options: SpanOptions, fn: (span: ISpanHandle) => Promise<T>): Promise<T>;
    getActiveTraceContext(): TraceContext | undefined;
    storeTraceContext(_key: string, _context: TraceContext): void;
    getStoredTraceContext(_key: string): TraceContext | undefined;
    runWithTraceContext<T>(_traceContext: TraceContext, fn: () => Promise<T>): Promise<T>;
    recordMetric(_name: string, _value: number, _attributes?: Record<string, string | number | boolean>): void;
    incrementCounter(_name: string, _value?: number, _attributes?: Record<string, string | number | boolean>): void;
    emitLogRecord(_body: string, _attributes?: Record<string, unknown>): void;
    flush(): Promise<void>;
    shutdown(): Promise<void>;
    injectCompletedSpan(_span: ICompletedSpanData): void;
    readonly onDidCompleteSpan: Event<ICompletedSpanData>;
    readonly onDidEmitSpanEvent: Event<ISpanEventData>;
}
//# sourceMappingURL=noopOtelService.d.ts.map