import type { Stylesheet, TextDocument } from 'vscode-css-languageservice'; import type { Position } from 'vscode-languageserver'; import { AstroDocument, DocumentMapper, ReadableDocument, TagInformation } from '../../core/documents'; export interface CSSDocumentBase extends DocumentMapper, TextDocument { languageId: string; stylesheet: Stylesheet; } export declare class CSSDocument extends ReadableDocument implements DocumentMapper { private parent; private styleInfo; readonly version: number; stylesheet: Stylesheet; languageId: string; constructor(parent: AstroDocument, styleInfo: Pick); /** * Get the fragment position relative to the parent * @param pos Position in fragment */ getOriginalPosition(pos: Position): Position; /** * Get the position relative to the start of the fragment * @param pos Position in parent */ getGeneratedPosition(pos: Position): Position; /** * Returns true if the given parent position is inside of this fragment * @param pos Position in parent */ isInGenerated(pos: Position): boolean; /** * Get the fragment text from the parent */ getText(): string; /** * Returns the length of the fragment as calculated from the start and end position */ getTextLength(): number; /** * Return the parent file path */ getFilePath(): string | null; getURL(): string; getAttributes(): Record; private get language(); }