/// <reference types="node" />
import type EventEmitter from 'events';
import type { Knex } from 'knex';
import type { IUnleashConfig } from './types/option';
import type { IUnleashStores } from './types/stores';
import type { InstanceStatsService } from './features/instance-stats/instance-stats-service';
import type { IEnvironment } from './types';
import type { SchedulerService } from './services';
export default class MetricsMonitor {
    constructor();
    startMonitoring(config: IUnleashConfig, stores: IUnleashStores, version: string, eventBus: EventEmitter, instanceStatsService: InstanceStatsService, schedulerService: SchedulerService, db: Knex): Promise<void>;
    configureDbMetrics(db: Knex, eventBus: EventEmitter, schedulerService: SchedulerService): Promise<void>;
    registerPoolMetrics(pool: any, eventBus: EventEmitter): void;
    resolveEnvironmentType(environment: string, cachedEnvironments: () => Promise<IEnvironment[]>): Promise<string>;
}
export declare function createMetricsMonitor(): MetricsMonitor;
//# sourceMappingURL=metrics.d.ts.map