import { BacktraceConfiguration } from '../../model/configuration/BacktraceConfiguration.js';
import { BacktraceRequestHandler } from '../../model/http/index.js';
import { AttributeManager } from '../attribute/AttributeManager.js';
import { BacktraceMetrics } from './BacktraceMetrics.js';
import { BacktraceSessionProvider } from './BacktraceSessionProvider.js';
import { MetricsQueue } from './MetricsQueue.js';
import { SummedEvent } from './model/SummedEvent.js';
import { UniqueEvent } from './model/UniqueEvent.js';
export declare class MetricsBuilder {
    private readonly _options;
    private readonly _sessionProvider;
    private readonly _attributeManager;
    private readonly _requestHandler;
    /**
     * Default metrics submission interval. The variable defines how often metrics will be sent to metrics system
     * By default 30 mins.
     */
    readonly DEFAULT_UPDATE_INTERVAL: number;
    private readonly APPLICATION_VERSION_ATTRIBUTE;
    private readonly APPLICATION_ATTRIBUTE;
    constructor(_options: BacktraceConfiguration, _sessionProvider: BacktraceSessionProvider, _attributeManager: AttributeManager, _requestHandler: BacktraceRequestHandler);
    build(uniqueEventsSubmissionQueue?: MetricsQueue<UniqueEvent>, summedEventsSubmissionQueue?: MetricsQueue<SummedEvent>): BacktraceMetrics | undefined;
    private verifyAttributeSetup;
    private createUniqueEventSubmissionQueue;
    private createSummedEventSubmissionQueue;
    private optionsWithDefaults;
}
