export type Props = { [key: string]: any; }; declare class ReactProps { static hasProp(props: Props, propName: string): boolean; static getPropValue(props: Props, propName: string, defaultValue?: T): T | undefined; static getRequiredProp(props: Props, propName: string, missingPropCallback?: () => void): T; static doesPropMatchRegex(props: Props, propName: string, regex: RegExp): boolean; static isPropInstanceOf(props: Props, propName: string, instance: any): boolean; static isPropOfType(props: Props, propName: string, type: string): boolean; static getPropsOfType(props: Props, type: string): Props; static countProps(props: Props): number; static checkPropCondition(props: Props, propName: string, condition: (value: T) => boolean): boolean; static getPropsByCondition(props: Props, condition: (value: T) => boolean): Props; static arePropsEqual(props: Props, propName1: string, propName2: string): boolean; static pickProps(props: Props, propNames: string[]): Props; static mergeProps(...propsObjects: Props[]): Props; static excludeProps(props: Props, propNames: string[]): Props; static renameProp(props: Props, oldName: string, newName: string): Props; static transformProp(props: Props, propName: string, transform: (value: T) => U): Props; static arePropsPresent(props: Props, propNames: string[]): boolean; static getPropTypes(props: Props): { [key: string]: string; }; static arePropsSameType(props: Props, propNames: string[]): boolean; static isPropInNumericRange(props: Props, propName: string, min: number, max: number): boolean; static hasNullOrUndefined(props: Props): boolean; static getNullOrUndefinedProps(props: Props): string[]; static removeNullOrUndefined(props: Props): Props; static isPropOneOf(props: Props, propName: string, values: any[]): boolean; static mapProps(props: Props, mapper: (key: string, value: T) => U): { [key: string]: U; }; static arePropsBoolean(props: Props, propNames: string[]): boolean; static areAllPropsBoolean(props: Props): boolean; static filterProps(props: Props, condition: (key: string, value: T) => boolean): Props; static reduceProps(props: Props, reducer: (accumulator: U, key: string, value: T) => U, initialValue: U): U; static getProp(obj: Props, path: string, defaultValue?: any, separator?: string): any; static setProp(obj: Props, path: string, value: any, separator?: string): void; static flattenProps(props: Props, prefix?: string, separator?: string): Props; static isRequired(props: Props, requiredProps: string[]): boolean; static omitProps(props: Props, propNames: string[]): Props; } export { ReactProps };