| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | import Container, { ContainerProps } from './container.js'interface AtRuleRaws 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 space between the at-rule name and its parameters.   */  afterName?: string  /**   * The symbols between the last parameter and `{` for rules.   */  between?: string  /**   * Contains `true` if the last child has an (optional) semicolon.   */  semicolon?: boolean  /**   * The rule’s selector with comments.   */  params?: {    value: string    raw: string  }}export interface AtRuleProps extends ContainerProps {  /** Name of the at-rule. */  name: string  /** Parameters following the name of the at-rule. */  params?: string | number  /** Information used to generate byte-to-byte equal node string as it was in the origin input. */  raws?: AtRuleRaws}/** * Represents an at-rule. * * ```js * Once (root, { AtRule }) { *   let media = new AtRule({ name: 'media', params: 'print' }) *   media.append(…) *   root.append(media) * } * ``` * * If it’s followed in the CSS by a {} block, this node will have * a nodes property representing its children. * * ```js * const root = postcss.parse('@charset "UTF-8"; @media print {}') * * const charset = root.first * charset.type  //=> 'atrule' * charset.nodes //=> undefined * * const media = root.last * media.nodes   //=> [] * ``` */export default class AtRule extends Container {  type: 'atrule'  parent: Container | undefined  raws: AtRuleRaws  /**   * The at-rule’s name immediately follows the `@`.   *   * ```js   * const root  = postcss.parse('@media print {}')   * media.name //=> 'media'   * const media = root.first   * ```   */  name: string  /**   * The at-rule’s parameters, the values that follow the at-rule’s name   * but precede any {} block.   *   * ```js   * const root  = postcss.parse('@media print, screen {}')   * const media = root.first   * media.params //=> 'print, screen'   * ```   */  params: string  constructor(defaults?: AtRuleProps)  assign(overrides: object | AtRuleProps): this  clone(overrides?: Partial<AtRuleProps>): this  cloneBefore(overrides?: Partial<AtRuleProps>): this  cloneAfter(overrides?: Partial<AtRuleProps>): this}
 |