import Container from './container.js' import Node, { NodeProps } from './node.js' declare namespace Comment { export interface CommentRaws extends Record { /** * The space symbols before the node. */ before?: string /** * The space symbols between `/*` and the comment’s text. */ left?: string /** * The space symbols between the comment’s text. */ right?: string } export interface CommentProps extends NodeProps { /** Information used to generate byte-to-byte equal node string as it was in the origin input. */ raws?: CommentRaws /** Content of the comment. */ text: string } // eslint-disable-next-line @typescript-eslint/no-use-before-define export { Comment_ as default } } /** * It represents a class that handles * [CSS comments](https://developer.mozilla.org/en-US/docs/Web/CSS/Comments) * * ```js * Once (root, { Comment }) { * const note = new Comment({ text: 'Note: …' }) * root.append(note) * } * ``` * * Remember that CSS comments inside selectors, at-rule parameters, * or declaration values will be stored in the `raws` properties * explained above. */ declare class Comment_ extends Node { parent: Container | undefined raws: Comment.CommentRaws /** * The comment's text. */ text: string type: 'comment' constructor(defaults?: Comment.CommentProps) assign(overrides: Comment.CommentProps | object): this clone(overrides?: Partial): Comment cloneAfter(overrides?: Partial): Comment cloneBefore(overrides?: Partial): Comment } declare class Comment extends Comment_ {} export = Comment