| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 | import { CssSyntaxError, ProcessOptions } from './postcss.js'import PreviousMap from './previous-map.js'declare namespace Input {  export interface FilePosition {    /**     * Column of inclusive start position in source file.     */    column: number    /**     * Column of exclusive end position in source file.     */    endColumn?: number    /**     * Line of exclusive end position in source file.     */    endLine?: number    /**     * Absolute path to the source file.     */    file?: string    /**     * Line of inclusive start position in source file.     */    line: number    /**     * Source code.     */    source?: string    /**     * URL for the source file.     */    url: string  }  // eslint-disable-next-line @typescript-eslint/no-use-before-define  export { Input_ as default }}/** * Represents the source CSS. * * ```js * const root  = postcss.parse(css, { from: file }) * const input = root.source.input * ``` */declare class Input_ {  /**   * Input CSS source.   *   * ```js   * const input = postcss.parse('a{}', { from: file }).input   * input.css //=> "a{}"   * ```   */  css: string  /**   * Input source with support for non-CSS documents.   *   * ```js   * const input = postcss.parse('a{}', { from: file, document: '<style>a {}</style>' }).input   * input.document //=> "<style>a {}</style>"   * input.css //=> "a{}"   * ```   */  document: string  /**   * The absolute path to the CSS source file defined   * with the `from` option.   *   * ```js   * const root = postcss.parse(css, { from: 'a.css' })   * root.source.input.file //=> '/home/ai/a.css'   * ```   */  file?: string  /**   * The flag to indicate whether or not the source code has Unicode BOM.   */  hasBOM: boolean  /**   * The unique ID of the CSS source. It will be created if `from` option   * is not provided (because PostCSS does not know the file path).   *   * ```js   * const root = postcss.parse(css)   * root.source.input.file //=> undefined   * root.source.input.id   //=> "<input css 8LZeVF>"   * ```   */  id?: string  /**   * The input source map passed from a compilation step before PostCSS   * (for example, from Sass compiler).   *   * ```js   * root.source.input.map.consumer().sources //=> ['a.sass']   * ```   */  map: PreviousMap  /**   * The CSS source identifier. Contains `Input#file` if the user   * set the `from` option, or `Input#id` if they did not.   *   * ```js   * const root = postcss.parse(css, { from: 'a.css' })   * root.source.input.from //=> "/home/ai/a.css"   *   * const root = postcss.parse(css)   * root.source.input.from //=> "<input css 1>"   * ```   */  get from(): string  /**   * @param css  Input CSS source.   * @param opts Process options.   */  constructor(css: string, opts?: ProcessOptions)  error(    message: string,    start:      | {          column: number          line: number        }      | {          offset: number        },    end:      | {          column: number          line: number        }      | {          offset: number        },    opts?: { plugin?: CssSyntaxError['plugin'] }  ): CssSyntaxError  /**   * Returns `CssSyntaxError` with information about the error and its position.   */  error(    message: string,    line: number,    column: number,    opts?: { plugin?: CssSyntaxError['plugin'] }  ): CssSyntaxError  error(    message: string,    offset: number,    opts?: { plugin?: CssSyntaxError['plugin'] }  ): CssSyntaxError  /**   * Converts source offset to line and column.   *   * @param offset Source offset.   */  fromOffset(offset: number): { col: number; line: number } | null  /**   * Reads the input source map and returns a symbol position   * in the input source (e.g., in a Sass file that was compiled   * to CSS before being passed to PostCSS). Optionally takes an   * end position, exclusive.   *   * ```js   * root.source.input.origin(1, 1) //=> { file: 'a.css', line: 3, column: 1 }   * root.source.input.origin(1, 1, 1, 4)   * //=> { file: 'a.css', line: 3, column: 1, endLine: 3, endColumn: 4 }   * ```   *   * @param line      Line for inclusive start position in input CSS.   * @param column    Column for inclusive start position in input CSS.   * @param endLine   Line for exclusive end position in input CSS.   * @param endColumn Column for exclusive end position in input CSS.   *   * @return Position in input source.   */  origin(    line: number,    column: number,    endLine?: number,    endColumn?: number  ): false | Input.FilePosition  /** Converts this to a JSON-friendly object representation. */  toJSON(): object}declare class Input extends Input_ {}export = Input
 |