import { JsNode } from './js-node'; import { JsIdent } from './js-ident'; import { List } from './list'; import type { Ruleset } from './ruleset'; import type { JsKeyValue } from './js-key-value'; import type { Context } from '../context'; import { OutputCollector } from '../output'; import { LocationInfo } from './node'; export declare type MixinValue = { name: JsIdent; args?: List; value: Ruleset; }; /** * @mixin someMixin (arg1, arg2: 10px) { * color: black; * background-color: white; * border-radius: $arg2; * } */ export declare class Mixin extends JsNode { name: JsIdent; args: List; value: Ruleset; /** * @todo - * Return either a ruleset if `this` is the eval context, * or return ruleset.obj() if not (for React/Vue) */ toModule(context: Context, out: OutputCollector): void; } export declare const mixin: (value: MixinValue, location?: LocationInfo) => Mixin;