| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | import Container from './container.js'import Node from './node.js'interface DeclarationRaws extends Record<string, unknown> {  /**   * The space symbols before the node. It also stores `*`   * and `_` symbols before the declaration (IE hack).   */  before?: string  /**   * The symbols between the property and value for declarations.   */  between?: string  /**   * The content of the important statement, if it is not just `!important`.   */  important?: string  /**   * Declaration value with comments.   */  value?: {    value: string    raw: string  }}export interface DeclarationProps {  /** Name of the declaration. */  prop: string  /** Value of the declaration. */  value: string  /** Whether the declaration has an `!important` annotation. */  important?: boolean  /** Information used to generate byte-to-byte equal node string as it was in the origin input. */  raws?: DeclarationRaws}/** * Represents a CSS declaration. * * ```js * Once (root, { Declaration }) { *   let color = new Declaration({ prop: 'color', value: 'black' }) *   root.append(color) * } * ``` * * ```js * const root = postcss.parse('a { color: black }') * const decl = root.first.first * decl.type       //=> 'decl' * decl.toString() //=> ' color: black' * ``` */export default class Declaration extends Node {  type: 'decl'  parent: Container | undefined  raws: DeclarationRaws  /**   * The declaration's property name.   *   * ```js   * const root = postcss.parse('a { color: black }')   * const decl = root.first.first   * decl.prop //=> 'color'   * ```   */  prop: string  /**   * The declaration’s value.   *   * This value will be cleaned of comments. If the source value contained   * comments, those comments will be available in the `raws` property.   * If you have not changed the value, the result of `decl.toString()`   * will include the original raws value (comments and all).   *   * ```js   * const root = postcss.parse('a { color: black }')   * const decl = root.first.first   * decl.value //=> 'black'   * ```   */  value: string  /**   * `true` if the declaration has an `!important` annotation.   *   * ```js   * const root = postcss.parse('a { color: black !important; color: red }')   * root.first.first.important //=> true   * root.first.last.important  //=> undefined   * ```   */  important: boolean  /**   * `true` if declaration is declaration of CSS Custom Property   * or Sass variable.   *   * ```js   * const root = postcss.parse(':root { --one: 1 }')   * let one = root.first.first   * one.variable //=> true   * ```   *   * ```js   * const root = postcss.parse('$one: 1')   * let one = root.first   * one.variable //=> true   * ```   */  variable: boolean  constructor(defaults?: DeclarationProps)  assign(overrides: object | DeclarationProps): this  clone(overrides?: Partial<DeclarationProps>): this  cloneBefore(overrides?: Partial<DeclarationProps>): this  cloneAfter(overrides?: Partial<DeclarationProps>): this}
 |