import type { CXOptions } from 'cva';
import { type StyleValue } from 'vue';
/**
* Provides a wrapper around the `cx` function that merges the
* component's class attribute with the provided classes and binds the
* remaining attributes
*
* @see https://beta.cva.style/api-reference#cx
*
* @example
*
*
*
MockComponent
*
*/
export declare function useBindCx(): {
/**
* Provides a wrapper around the `cx` function that merges the
* component's class attribute with the provided classes and binds the
* remaining attributes
*
* @example
* ```html
*
*
*
...
*
* ```
*/
cx: (...args: CXOptions) => {
/** The merged class attribute */
class: string;
/** The remaining attributes */
[key: string]: any;
};
/**
* Provides a wrapper around the `cx` function that merges the
* component's class attribute with the provided classes and binds the
* style attribute but **does not** bind any other attributes.
*
* Typically used in conjunction with `otherAttrs` to apply the stylistic
* attributes to a styled wrapper element, but apply the remaining
* attributes to an internal semantic element like an ``.
*
* @example
* ```html
*
*
*
*
* ...
*
*
*
*
* ```
*/
stylingAttrsCx: (...args: CXOptions) => {
/** The merged class attribute */
class: string;
style: StyleValue;
};
/**
* The remaining attributes that **are not** the class or style attributes
* of the component.
*
* Typically used in conjunction with `stylingAttrsCx` to apply the stylistic
* attributes to a styled wrapper element, but apply the remaining
* attributes to an internal semantic element like an ``.
*
* @example
* ```html
*
*
*
*