import { Ref, ComputedRef } from 'vue'; type ClassesObject = Record; type ComputedClasses = ClassesObject & { readonly asObject: ComputedRef>; readonly asArray: ComputedRef; readonly asString: ComputedRef; }; /** * @description creates BEM modifiers based on transferred prefix (base BEM class) & modifiers list. * camelCase modifiers names will be transformed to the kebab-case. * @param prefix string that classes start with (base BEM class). * @param modifiers list of options that will serve as state BEM modifiers. * @returns computed classes starting with "prefix" and ending with form state BEM modifier. * @example * const result = useBem('va-component', computed(() => pick(props, ['success, noError']))) * // if success & noError are `true` * { ...result }: { 'va-component--success': true, va-component--no-error: true } * result.asObject.value: { 'va-component--success': true, va-component--no-error: true } * result.asArray.value: ['va-component--success', 'va-component--no-error'] * result.asString.value: 'va-component--success va-component--no-error' */ export declare const useBem: (prefix: Prefix, modifiers: Record | Ref> | (() => Record)) => ComputedClasses<`${Prefix}--${ModifierKey}`>; export {};