| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 | import {  Document,  Node,  Plugin,  ProcessOptions,  Root,  SourceMap,  TransformCallback,  Warning,  WarningOptions} from './postcss.js'import Processor from './processor.js'declare namespace Result {  export interface Message {    [others: string]: any    /**     * Source PostCSS plugin name.     */    plugin?: string    /**     * Message type.     */    type: string  }  export interface ResultOptions extends ProcessOptions {    /**     * The CSS node that was the source of the warning.     */    node?: Node    /**     * Name of plugin that created this warning. `Result#warn` will fill it     * automatically with `Plugin#postcssPlugin` value.     */    plugin?: string  }  // eslint-disable-next-line @typescript-eslint/no-use-before-define  export { Result_ as default }}/** * Provides the result of the PostCSS transformations. * * A Result instance is returned by `LazyResult#then` * or `Root#toResult` methods. * * ```js * postcss([autoprefixer]).process(css).then(result => { *  console.log(result.css) * }) * ``` * * ```js * const result2 = postcss.parse(css).toResult() * ``` */declare class Result_<RootNode = Document | Root> {  /**   * A CSS string representing of `Result#root`.   *   * ```js   * postcss.parse('a{}').toResult().css //=> "a{}"   * ```   */  css: string  /**   * Last runned PostCSS plugin.   */  lastPlugin: Plugin | TransformCallback  /**   * An instance of `SourceMapGenerator` class from the `source-map` library,   * representing changes to the `Result#root` instance.   *   * ```js   * result.map.toJSON() //=> { version: 3, file: 'a.css', … }   * ```   *   * ```js   * if (result.map) {   *   fs.writeFileSync(result.opts.to + '.map', result.map.toString())   * }   * ```   */  map: SourceMap  /**   * Contains messages from plugins (e.g., warnings or custom messages).   * Each message should have type and plugin properties.   *   * ```js   * AtRule: {   *   import: (atRule, { result }) {   *     const importedFile = parseImport(atRule)   *     result.messages.push({   *       type: 'dependency',   *       plugin: 'postcss-import',   *       file: importedFile,   *       parent: result.opts.from   *     })   *   }   * }   * ```   */  messages: Result.Message[]  /**   * Options from the `Processor#process` or `Root#toResult` call   * that produced this Result instance.]   *   * ```js   * root.toResult(opts).opts === opts   * ```   */  opts: Result.ResultOptions  /**   * The Processor instance used for this transformation.   *   * ```js   * for (const plugin of result.processor.plugins) {   *   if (plugin.postcssPlugin === 'postcss-bad') {   *     throw 'postcss-good is incompatible with postcss-bad'   *   }   * })   * ```   */  processor: Processor  /**   * Root node after all transformations.   *   * ```js   * root.toResult().root === root   * ```   */  root: RootNode  /**   * @param processor Processor used for this transformation.   * @param root      Root node after all transformations.   * @param opts      Options from the `Processor#process` or `Root#toResult`.   */  constructor(processor: Processor, root: RootNode, opts: Result.ResultOptions)  /**   * Returns for `Result#css` content.   *   * ```js   * result + '' === result.css   * ```   *   * @return String representing of `Result#root`.   */  toString(): string  /**   * Creates an instance of `Warning` and adds it to `Result#messages`.   *   * ```js   * if (decl.important) {   *   result.warn('Avoid !important', { node: decl, word: '!important' })   * }   * ```   *   * @param text Warning message.   * @param opts Warning options.   * @return Created warning.   */  warn(message: string, options?: WarningOptions): Warning  /**   * Returns warnings from plugins. Filters `Warning` instances   * from `Result#messages`.   *   * ```js   * result.warnings().forEach(warn => {   *   console.warn(warn.toString())   * })   * ```   *   * @return Warnings from plugins.   */  warnings(): Warning[]  /**   * An alias for the `Result#css` property.   * Use it with syntaxes that generate non-CSS output.   *   * ```js   * result.css === result.content   * ```   */  get content(): string}declare class Result<RootNode = Document | Root> extends Result_<RootNode> {}export = Result
 |