/**
 * Mock OpenTelemetry Meter for testing metric instrument emission.
 * Records all counter and histogram data points for assertion.
 */
import type { Attributes } from '@opentelemetry/api';
export interface MockDataPoint {
    value: number;
    attributes: Attributes | undefined;
}
export declare class MockCounter {
    readonly dataPoints: MockDataPoint[];
    add(value: number, attributes?: Attributes): void;
    get sum(): number;
}
export declare class MockHistogram {
    readonly dataPoints: MockDataPoint[];
    record(value: number, attributes?: Attributes): void;
    get sum(): number;
}
/**
 * Mock OTEL Meter that tracks created instruments by name.
 * Cast to `Meter` when passing to `vi.spyOn(otelMetrics, 'getMeter')`.
 */
export declare class MockMeter {
    private readonly _counters;
    private readonly _histograms;
    createCounter(name: string): MockCounter;
    createHistogram(name: string): MockHistogram;
    getCounter(name: string): MockCounter | undefined;
    getHistogram(name: string): MockHistogram | undefined;
}
//# sourceMappingURL=mock-meter.d.ts.map