import * as postcss from 'postcss'; import type { AtRuleRaws } from 'postcss/lib/at-rule'; import { ParameterList, ParameterListProps } from '../parameter-list'; import { RawWithValue } from '../raw-with-value'; import * as sassInternal from '../sass-internal'; import { ChildNode, ContainerProps, NewNode, Statement, StatementWithChildren } from '.'; import { _AtRule } from './at-rule-internal'; /** * The set of raws supported by {@link MixinRule}. * * @category Statement */ export interface MixinRuleRaws extends Omit { /** * The mixin's name. * * This may be different than {@link Mixin.mixinName} if the name contains * escape codes or underscores. */ mixinName?: RawWithValue; } /** * The initializer properties for {@link MixinRule}. * * @category Statement */ export type MixinRuleProps = ContainerProps & { raws?: MixinRuleRaws; mixinName: string; parameters?: ParameterList | ParameterListProps; }; /** * A `@mixin` rule. Extends [`postcss.AtRule`]. * * [`postcss.AtRule`]: https://postcss.org/api/#atrule * * @category Statement */ export declare class MixinRule extends _AtRule> implements Statement { readonly sassType: "mixin-rule"; parent: StatementWithChildren | undefined; raws: MixinRuleRaws; nodes: ChildNode[]; /** * The name of the mixin. * * This is the parsed and normalized value, with underscores converted to * hyphens and escapes resolved to the characters they represent. */ mixinName: string; /** The parameters that this mixin takes. */ get parameters(): ParameterList; set parameters(parameters: ParameterList | ParameterListProps); private _parameters; get name(): string; set name(value: string); get params(): string; set params(value: string | number | undefined); constructor(defaults: MixinRuleProps); /** @hidden */ constructor(_: undefined, inner: sassInternal.MixinRule); clone(overrides?: Partial): this; toJSON(): object; /** @hidden */ toJSON(_: string, inputs: Map): object; /** @hidden */ toString(stringifier?: postcss.Stringifier | postcss.Syntax): string; /** @hidden */ get nonStatementChildren(): ReadonlyArray; /** @hidden */ normalize(node: NewNode, sample?: postcss.Node): ChildNode[]; }