import * as t from '@babel/types'; import type { Metadata } from '../types'; /** * Given an object defined within an variant passed to `cssMap`, convert this object to * a less idiosyncratic form that can be directly processed by `buildCss`. * * For example, if our object is this: * * { * color: 'blue', * '&:hover': { * color: 'yellow', * }, * '@media': { * 'screen and (min-width: 500px)': { ... } * 'screen and (min-width: 700px)': { ... } * }, * selectors: { * div: { color: 'orange' }, * } * } * * This function will merge the two halves of the `@media` query (for example, to get * `@media screen and (min-width: 500px)`), and it will merge all of * the keys located in the value of `selectors`: * * { * color: 'blue', * '&:hover': { * color: 'yellow', * }, * '@media screen and (min-width: 500px)': { ... } * '@media screen and (max-width: 700px)': { ... } * div: { color: 'orange' }, * } * * @param variantStyles an object expression representing the value of the cssMap variant * @param meta metadata from Babel, used for error messages * @returns the processed object expression */ export declare const mergeExtendedSelectorsIntoProperties: (variantStyles: t.ObjectExpression, meta: Metadata) => t.ObjectExpression;