|  |  | import Container, {
 | 
						
						
						
							|  |  |   ContainerProps,
 | 
						
						
						
							|  |  |   ContainerWithChildren
 | 
						
						
						
							|  |  | } from './container.js'
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | declare namespace AtRule {
 | 
						
						
						
							|  |  |   export interface AtRuleRaws extends Record<string, unknown> {
 | 
						
						
						
							|  |  |     /**
 | 
						
						
						
							|  |  |      * 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 space symbols before the node. It also stores `*`
 | 
						
						
						
							|  |  |      * and `_` symbols before the declaration (IE hack).
 | 
						
						
						
							|  |  |      */
 | 
						
						
						
							|  |  |     before?: string
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     /**
 | 
						
						
						
							|  |  |      * The symbols between the last parameter and `{` for rules.
 | 
						
						
						
							|  |  |      */
 | 
						
						
						
							|  |  |     between?: string
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     /**
 | 
						
						
						
							|  |  |      * The rule’s selector with comments.
 | 
						
						
						
							|  |  |      */
 | 
						
						
						
							|  |  |     params?: {
 | 
						
						
						
							|  |  |       raw: string
 | 
						
						
						
							|  |  |       value: string
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     /**
 | 
						
						
						
							|  |  |      * Contains `true` if the last child has an (optional) semicolon.
 | 
						
						
						
							|  |  |      */
 | 
						
						
						
							|  |  |     semicolon?: boolean
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   export interface AtRuleProps extends ContainerProps {
 | 
						
						
						
							|  |  |     /** Name of the at-rule. */
 | 
						
						
						
							|  |  |     name: string
 | 
						
						
						
							|  |  |     /** Parameters following the name of the at-rule. */
 | 
						
						
						
							|  |  |     params?: number | string
 | 
						
						
						
							|  |  |     /** Information used to generate byte-to-byte equal node string as it was in the origin input. */
 | 
						
						
						
							|  |  |     raws?: AtRuleRaws
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // eslint-disable-next-line @typescript-eslint/no-use-before-define
 | 
						
						
						
							|  |  |   export { AtRule_ as default }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | /**
 | 
						
						
						
							|  |  |  * 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   //=> []
 | 
						
						
						
							|  |  |  * ```
 | 
						
						
						
							|  |  |  */
 | 
						
						
						
							|  |  | declare class AtRule_ extends Container {
 | 
						
						
						
							|  |  |   /**
 | 
						
						
						
							|  |  |    * An array containing the layer’s children.
 | 
						
						
						
							|  |  |    *
 | 
						
						
						
							|  |  |    * ```js
 | 
						
						
						
							|  |  |    * const root = postcss.parse('@layer example { a { color: black } }')
 | 
						
						
						
							|  |  |    * const layer = root.first
 | 
						
						
						
							|  |  |    * layer.nodes.length           //=> 1
 | 
						
						
						
							|  |  |    * layer.nodes[0].selector      //=> 'a'
 | 
						
						
						
							|  |  |    * ```
 | 
						
						
						
							|  |  |    *
 | 
						
						
						
							|  |  |    * Can be `undefinded` if the at-rule has no body.
 | 
						
						
						
							|  |  |    *
 | 
						
						
						
							|  |  |    * ```js
 | 
						
						
						
							|  |  |    * const root = postcss.parse('@layer a, b, c;')
 | 
						
						
						
							|  |  |    * const layer = root.first
 | 
						
						
						
							|  |  |    * layer.nodes //=> undefined
 | 
						
						
						
							|  |  |    * ```
 | 
						
						
						
							|  |  |    */
 | 
						
						
						
							|  |  |   nodes: Container['nodes']
 | 
						
						
						
							|  |  |   parent: ContainerWithChildren | undefined
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   raws: AtRule.AtRuleRaws
 | 
						
						
						
							|  |  |   type: 'atrule'
 | 
						
						
						
							|  |  |   constructor(defaults?: AtRule.AtRuleProps)
 | 
						
						
						
							|  |  |   assign(overrides: AtRule.AtRuleProps | object): this
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   clone(overrides?: Partial<AtRule.AtRuleProps>): this
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   cloneAfter(overrides?: Partial<AtRule.AtRuleProps>): this
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   cloneBefore(overrides?: Partial<AtRule.AtRuleProps>): this
 | 
						
						
						
							|  |  |   /**
 | 
						
						
						
							|  |  |    * The at-rule’s name immediately follows the `@`.
 | 
						
						
						
							|  |  |    *
 | 
						
						
						
							|  |  |    * ```js
 | 
						
						
						
							|  |  |    * const root  = postcss.parse('@media print {}')
 | 
						
						
						
							|  |  |    * const media = root.first
 | 
						
						
						
							|  |  |    * media.name //=> 'media'
 | 
						
						
						
							|  |  |    * ```
 | 
						
						
						
							|  |  |    */
 | 
						
						
						
							|  |  |   get name(): string
 | 
						
						
						
							|  |  |   set name(value: 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'
 | 
						
						
						
							|  |  |    * ```
 | 
						
						
						
							|  |  |    */
 | 
						
						
						
							|  |  |   get params(): string
 | 
						
						
						
							|  |  |   set params(value: string)
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | declare class AtRule extends AtRule_ {}
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | export = AtRule
 |