import { MomentoLoggerFactory } from '@gomomento/sdk-core';
import { Middleware } from './middleware';
interface ExperimentalMetricsMiddlewareOptions {
    /**
     * Setting this to true will emit a periodic JSON log for the event loop profile of the nodeJS process.
     */
    eventLoopMetricsLog?: boolean;
    /**
     * Setting this to true will emit a JSON log during major GC events, as observed by node's perf_hooks.
     */
    garbageCollectionMetricsLog?: boolean;
    /**
     * Setting this to true will emit a JSON log for each Momento request, that includes the client-side latency
     * among other request profile statistics.
     */
    perRequestMetricsLog?: boolean;
    /**
     * Setting this to true will emit a periodic JSON log for active Momento request count on the nodeJS process
     * as observed when the periodic task wakes up. This can be handy with eventLoopMetricsLog to observe the event loop
     * delay against the maximum number of concurrent connections the application is observing.
     */
    activeRequestCountMetricsLog?: boolean;
    /**
     * Setting this to true will write a CSV recrd for each Momento request, that includes the client-side latency
     * among other request profile statistics. The path is the file path on your disk where the CSV file is stored.
     */
    perRequestMetricsCSVPath?: string;
}
export declare class MiddlewareFactory {
    static createMetricsMiddlewares(loggerFactory: MomentoLoggerFactory, options: ExperimentalMetricsMiddlewareOptions): Middleware[];
}
export {};
