/**
 * Extracts properties from props that klass's propTypes field specifies, as an object.
 * Useful for inheriting properties from other components; see ModalButton for examples.
 */
export declare function propsFor(klass: any, props: any): {};
/**
 * Returns a copy of obj (Object) with keys toOmit ([string]) and their associated values removed.
 */
export declare function omitKeys(obj: any, ...toOmit: any[]): {};
/**
 * Returns a copy of obj (Object) with prefix (String) prepended to each key. Capitalizes the first
 * letter of the old key if capitalizeFirst (bool) is true.
 */
export declare function prefixKeys(obj: any, prefix: any, capitalizeFirst?: boolean): {};
/**
 * Returns a copy of obj (Object) with prefix (String) removed from the start of each key, if it is
 * present. Lowercases the first letter of the old key if lowercaseFirst (bool) is true AND the
 * old key begins with the prefix.
 */
export declare function unprefixKeys(obj: any, prefixToRemove: any, lowercaseFirst?: boolean): {};
/**
 * Combine classname strings with long kabobs (--), and prepend each
 * prefix to the result.
 * For example:
 * ```
 * // returns "Component--a--b MyCustomClassName--a--b"
 * classNamesFor(["Component", "MyCustomClassName"], "a", "b")
 * ```
 * If no prefixes are provided (i.e. prefixes === null or prefixes only contains null/empty values)
 * it just doesn't append a prefix—i.e. it kabobs the rest of the arguments together.
 * @param {string | Array<string>} prefixes Prefixes to prepend to resulting classname
 * @param {string | Array<string>} classSegments Class names to kabob together
 */
export declare function classNameFor(prefixes: string | string[], classSegments?: string | string[]): string;
/**
 * Detect browser capabilities and apply faux media queries
 *
 * This will allow us to write CSS rules like:
 *
 *     .mq-hover .conditional-styles {
 *       // only applied when the browser supports hover
 *     }
 */
export declare function polyfillMediaQueries(): void;
