/**
 * Memo Utilities for Dev Tools
 *
 * Comparison helper functions for React.memo optimization.
 * These functions enable efficient memoization of dev tool components
 * by comparing props at the appropriate depth.
 *
 * @since v1.33.4
 */
import type { DebugMarker } from '../debug/debug-types.js';
/**
 * Shallow comparison of two objects.
 * Returns true if all own enumerable properties are strictly equal.
 *
 * Use this as the default comparator for components with primitive props.
 * For components with object/array props, use custom comparators.
 *
 * @param prev - Previous props object
 * @param next - Next props object
 * @returns true if objects are shallowly equal
 *
 * @example
 * ```typescript
 * const MemoizedComponent = React.memo(MyComponent, shallowPropsEqual);
 * ```
 */
export declare function shallowPropsEqual<T extends Record<string, unknown>>(prev: T, next: T): boolean;
/**
 * Compare two arrays of DebugMarker for equality.
 * Compares id, severity, status, title, and file of each marker.
 *
 * @param prev - Previous markers array
 * @param next - Next markers array
 * @returns true if markers are equal
 *
 * @example
 * ```typescript
 * const MemoizedMarkersList = React.memo(MarkersList, (prev, next) =>
 *   prev.selectedIndex === next.selectedIndex &&
 *   markersEqual(prev.markers, next.markers)
 * );
 * ```
 */
export declare function markersEqual(prev: DebugMarker[], next: DebugMarker[]): boolean;
/**
 * Compare two shortcut group arrays for equality.
 * Used by DevHelpOverlay component.
 *
 * @param prev - Previous shortcuts array
 * @param next - Next shortcuts array
 * @returns true if shortcut groups are equal
 */
export interface DevShortcutGroup {
    title: string;
    shortcuts: Array<{
        key: string;
        description: string;
    }>;
}
export declare function shortcutGroupsEqual(prev: DevShortcutGroup[], next: DevShortcutGroup[]): boolean;
//# sourceMappingURL=memo-utils.d.ts.map