import { PerformanceNode } from './PerformanceNode';
import { NodePerformanceData } from '../../engine/nodes/utils/cook/PerformanceController';
import { BaseNodeType } from '../../engine/nodes/_Base';
import { PolyDictionary } from '../../types/GlobalTypes';
export declare class CorePerformance {
    private _started;
    _start_time: number | null;
    _previous_timestamp: number;
    _nodes_cook_data: PolyDictionary<PerformanceNode>;
    _durations_by_name: PolyDictionary<number>;
    _durations_count_by_name: PolyDictionary<number>;
    profile(name: string, method: (args?: any) => any): void;
    start(): void;
    stop(): void;
    reset(): void;
    started(): boolean;
    record_node_cook_data(node: BaseNodeType, performance_data: NodePerformanceData): void;
    record(name: string): number;
    print(): void;
    print_node_cook_data(): import("./PerformanceNode").PerformancePrintObject[];
    print_recordings(): {
        duration: number;
        name: string;
        count: number;
        duration_per_iteration: number;
    }[];
}
