/** @packageDocumentation
 * @module Utilities
 */
import * as React from "react";
import type { IconSpec } from "@itwin/core-react";
import type { StringGetter, AbstractWidgetProps as UIA_AbstractWidgetProps, CommonBackstageItem as UIA_CommonBackstageItem } from "@itwin/appui-abstract";
import { ConditionalStringValue } from "@itwin/appui-abstract";
/** A set of helper methods for various props
 * @public
 */
export declare class PropsHelper {
    /** Get spec for returning a string. Could be a simple string of a 'StringGetter' method used to return the string. */
    static getStringSpec(explicitValue: string | StringGetter | ConditionalStringValue | undefined, stringKey?: string): string | StringGetter | ConditionalStringValue;
    /** Get the display string. */
    static getStringFromSpec(spec: string | StringGetter | ConditionalStringValue): string;
    /** Get JSX element that defines an icon. If iconSpec is a string, then a web-font icon class is used otherwise a ReactNode holding an SVG icon is assumed.  */
    static getIcon(iconSpec: string | ConditionalStringValue | React.ReactNode): React.ReactElement | undefined;
    /** returns true if the two objects are the same using a shallow compare of each property */
    static isShallowEqual(newObj: any, prevObj: any): boolean;
    /** @deprecated in 4.0 These abstract props types are obsolete. */
    static getAbstractPropsForReactIcon(iconSpec: IconSpec, internalData?: Map<string, any>): Partial<UIA_AbstractWidgetProps> | Partial<UIA_CommonBackstageItem>;
}
//# sourceMappingURL=PropsHelper.d.ts.map