import { type DiffMap, type DiffResult } from '../utils/diff-mapper'; import type { ConfiguratorState, ConfiguratorWatchOptions } from './types'; /** * Create default configurator state */ export declare function createDefaultConfiguratorState>(): ConfiguratorState; /** * Use deepDiffMapper to compare objects and determine if there are any changes */ export declare function hasChangesViaDiff(current: T, updated: T): boolean; /** * Get detailed diff information using deepDiffMapper */ export declare function getDetailedDiff(current: T, updated: T): DiffResult | DiffMap; /** * Compare specific keys of two objects with optimization using deepDiffMapper */ export declare function compareKeys>(current: T | null, updated: T | null, keys: string[]): boolean; /** * Determine if configurator has changed with performance optimization using deepDiffMapper */ export declare function hasConfiguratorChanged>(configurator: T | null, configuratorCache: T | null, watchOptions: ConfiguratorWatchOptions): boolean; /** * Create a debounced function for configurator updates */ export declare function createDebouncedUpdate void>(fn: T, delay: number): T; /** * Extract specific keys from an object */ export declare function extractKeys>(current: T | null, keys: string[]): Partial | null; /** * Validate watch options */ export declare function validateWatchOptions(options: ConfiguratorWatchOptions): ConfiguratorWatchOptions;