import { type ClassValue } from "clsx";
import { WithIndexer } from "../../fd-toolbox-core/types/with-indexer";
import { wellKnownMetaProps } from "../../fd-toolbox-core/constants/meta-constants";
import { ApiResponse } from "../api/api-response";
import { WithId } from "../../fd-toolbox-core/types/resource-with-id";
/** To do: add docs */
export declare function cn(...inputs: ClassValue[]): string;
/** @monorepo-internal */
export declare function handleGlobalError(message: string | Event, error?: Error): boolean;
/** @monorepo-internal */
export declare function handlePromiseRejection(event: PromiseRejectionEvent): boolean;
/** @internal */
export declare function isPlainObject<T>(item: T): item is T & Record<string, unknown>;
/** @internal */
export declare function parseJson<T>(value: string): T;
/** @internal */
export declare function parseJsonBodyFromRequest<T>(req: Request): Promise<T>;
/** @monorepo-internal */
export declare function getJsonFromResponse<T>(res: Response): Promise<T>;
/** @internal */
export declare function safeParseJson<T>(text: string): T;
/** @internal */
export declare function getObjectValues<T>(object: WithIndexer<T>): T[];
/** @monorepo-internal */
export declare function getObjectPropertyKey<T extends Record<string, unknown>>(object: T, inputValue: T[keyof T]): any;
/** To do: add docs */
export declare function isPromiseFulfilled<T>(result: PromiseSettledResult<T>): result is PromiseFulfilledResult<T>;
export declare function isWithName<T extends Record<string, unknown>>(object: T): object is T & {
    name: Exclude<T[typeof wellKnownMetaProps.name], null | undefined>;
};
/** @monorepo-internal */
export declare function isWithId(value: unknown): value is WithId;
/** @monorepo-internal */
export declare function hasObjectOwnProperty<T extends object, K extends PropertyKey>(obj: T, prop: K): obj is T & Record<K, unknown>;
/** @monorepo-internal */
export declare function getArrayFromResponse<T>(items: ApiResponse<T[]> | T[]): T[];
