declare const measureExecutionTime: <R>(function_: () => R | Promise<R>) => Promise<number>;
declare const measureExecutionTimeSync: <R>(function_: () => R) => number;
declare class PerformanceMeasurements {
    name: string;
    warmUpMeasure: {
        startTime: number;
        endTime: number;
        elapsed: number;
        beforeMetric: {
            heap: number;
            total: number;
            metric: `MB`;
        };
        afterMetric: {
            heap: number;
            total: number;
            metric: `MB`;
        };
    } | null;
    options?: {} | undefined;
    memoryHistory: Array<{
        time: number;
        heap: number;
        total: number;
        metric: `MB`;
    }>;
    constructor(name: string, warmUpMeasure?: {
        startTime: number;
        endTime: number;
        elapsed: number;
        beforeMetric: {
            heap: number;
            total: number;
            metric: `MB`;
        };
        afterMetric: {
            heap: number;
            total: number;
            metric: `MB`;
        };
    } | null, options?: {} | undefined, memoryHistory?: Array<{
        time: number;
        heap: number;
        total: number;
        metric: `MB`;
    }>);
}
declare const measurePerformanceUtil: (function_: () => Promise<any> | any, options?: {
    delayExecution?: number;
}) => Promise<{
    measurements: PerformanceMeasurements;
    elapsed: number;
}>;

export { PerformanceMeasurements, measureExecutionTime, measureExecutionTimeSync, measurePerformanceUtil };
