| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 | import Container, {  ContainerProps,  ContainerWithChildren} from './container.js'declare namespace Rule {  export interface RuleRaws extends Record<string, unknown> {    /**     * The space symbols after the last child of the node to the end of the node.     */    after?: string    /**     * The space symbols before the node. It also stores `*`     * and `_` symbols before the declaration (IE hack).     */    before?: string    /**     * The symbols between the selector and `{` for rules.     */    between?: string    /**     * Contains the text of the semicolon after this rule.     */    ownSemicolon?: string    /**     * The rule’s selector with comments.     */    selector?: {      raw: string      value: string    }    /**     * Contains `true` if the last child has an (optional) semicolon.     */    semicolon?: boolean  }  export type RuleProps = {    /** Information used to generate byte-to-byte equal node string as it was in the origin input. */    raws?: RuleRaws  } & (      | {          /** Selector or selectors of the rule. */          selector: string          selectors?: never        }      | {          selector?: never          /** Selectors of the rule represented as an array of strings. */          selectors: readonly string[]        }    ) & ContainerProps  // eslint-disable-next-line @typescript-eslint/no-use-before-define  export { Rule_ as default }}/** * 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{}' * ``` */declare class Rule_ extends Container {  nodes: NonNullable<Container['nodes']>  parent: ContainerWithChildren | undefined  raws: Rule.RuleRaws  type: 'rule'  /**   * The rule’s full selector represented as a string.   *   * ```js   * const root = postcss.parse('a, b { }')   * const rule = root.first   * rule.selector //=> 'a, b'   * ```   */  get selector(): string  set selector(value: 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'   * ```   */  get selectors(): string[]  set selectors(values: string[])  constructor(defaults?: Rule.RuleProps)  assign(overrides: object | Rule.RuleProps): this  clone(overrides?: Partial<Rule.RuleProps>): this  cloneAfter(overrides?: Partial<Rule.RuleProps>): this  cloneBefore(overrides?: Partial<Rule.RuleProps>): this}declare class Rule extends Rule_ {}export = Rule
 |