import { ReactNode } from 'react'; export declare type Deprecated = T extends undefined ? T : never & { __errorMessage: `Castle UI: ${PropName} is deprecated. ${Explain} \n Please Contact Castle UI Team for support on this issue.`; }; export declare function isObject(value: any): value is Record; export declare function isFunction(value: any): value is T; declare type Args = T extends (...args: infer R) => any ? R : never; declare type AnyFunction = (...args: T[]) => any; export declare function callAllHandlers void>(...fns: (T | undefined)[]): (event: Args[0]) => void; export declare function callAll(...fns: (T | undefined)[]): (arg: Args[0]) => void; export declare function runIfFn(valueOrFn: T | ((...fnArgs: U[]) => T), ...args: U[]): T; export declare const passTestId: (props: any) => { 'data-testid': any; }; export declare function generateId(): string; export declare const getReactNode: (children: ReactNode, displayNames: string[], customize?: ((child: React.ReactElement) => ReactNode) | undefined) => ReactNode; export declare const isBrowser: boolean; /** * Performs a deep equality check between two values. * Supports primitives, arrays, and plain objects. * Does not support special objects like Map, Set, Date, RegExp. */ export declare function deepEqual(a: T, b: T): boolean; export {};