| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | import Container, { ContainerProps } from './container.js'interface RuleRaws extends Record<string, unknown> {  /**   * The space symbols before the node. It also stores `*`   * and `_` symbols before the declaration (IE hack).   */  before?: string  /**   * The space symbols after the last child of the node to the end of the node.   */  after?: string  /**   * The symbols between the selector and `{` for rules.   */  between?: string  /**   * Contains `true` if the last child has an (optional) semicolon.   */  semicolon?: boolean  /**   * Contains `true` if there is semicolon after rule.   */  ownSemicolon?: string  /**   * The rule’s selector with comments.   */  selector?: {    value: string    raw: string  }}export interface RuleProps extends ContainerProps {  /** Selector or selectors of the rule. */  selector?: string  /** Selectors of the rule represented as an array of strings. */  selectors?: string[]  /** Information used to generate byte-to-byte equal node string as it was in the origin input. */  raws?: RuleRaws}/** * Represents a CSS rule: a selector followed by a declaration block. * * ```js * Once (root, { Rule }) { *   let a = new Rule({ selector: 'a' }) *   a.append(…) *   root.append(a) * } * ``` * * ```js * const root = postcss.parse('a{}') * const rule = root.first * rule.type       //=> 'rule' * rule.toString() //=> 'a{}' * ``` */export default class Rule extends Container {  type: 'rule'  parent: Container | undefined  raws: RuleRaws  /**   * The rule’s full selector represented as a string.   *   * ```js   * const root = postcss.parse('a, b { }')   * const rule = root.first   * rule.selector //=> 'a, b'   * ```   */  selector: string  /**   * An array containing the rule’s individual selectors.   * Groups of selectors are split at commas.   *   * ```js   * const root = postcss.parse('a, b { }')   * const rule = root.first   *   * rule.selector  //=> 'a, b'   * rule.selectors //=> ['a', 'b']   *   * rule.selectors = ['a', 'strong']   * rule.selector //=> 'a, strong'   * ```   */  selectors: string[]  constructor(defaults?: RuleProps)  assign(overrides: object | RuleProps): this  clone(overrides?: Partial<RuleProps>): this  cloneBefore(overrides?: Partial<RuleProps>): this  cloneAfter(overrides?: Partial<RuleProps>): this}
 |