export declare const PROFILER_KEY = "__editorRenderCountProfiler";
interface ComponentInstanceRenderCounter {
    count: number;
    instanceId: string;
}
type ProfilerData = {
    components?: {
        [componentId: string]: {
            [instanceId: string]: {
                count: number;
            };
        };
    };
    enabled: boolean;
};
type RenderCountProfilerInstanceParams = {
    store: Object;
};
export declare class RenderCountProfiler {
    /**
     * The singleton/cached instance of RenderCountProfiler that will be shared
     * betweenRenderCountProfiler.getInstance() calls
     */
    private static instance;
    private store;
    private constructor();
    /**
     * Returns the singleton/cached instance of RenderCountProfiler that
     * currently exists. If it hasn't been instantiated yet, the singleton
     * instance will be created using the given params. Returns the latest
     * singleton/instance.
     */
    static getInstance(params: RenderCountProfilerInstanceParams): RenderCountProfiler;
    getData(profilerKey: typeof PROFILER_KEY): ProfilerData | void;
    enable(): void;
    remove(): void;
    isEnabled(): boolean;
    setRenderCount({ componentId, renderCount, instanceId, }: {
        componentId: string;
        instanceId: string;
        renderCount: number;
    }): void;
    getInstanceRenderCounters({ componentId, }: {
        componentId: string;
    }): ComponentInstanceRenderCounter[];
    getRenderCount({ componentId }: {
        componentId: string;
    }): number;
}
export {};
