import type { TaglibLookup } from "@marko/compiler/babel-utils"; import { type Parsed } from "@marko/language-tools"; import type { TextDocument } from "vscode-languageserver-textdocument"; export interface MarkoFile { uri: string; scheme: string; version: number; lookup: TaglibLookup; filename: string | undefined; dirname: string | undefined; parsed: Parsed; code: string; } export declare function getFSDir(doc: TextDocument): string | undefined; export declare function getFSPath(doc: TextDocument): string | undefined; export declare function getMarkoFile(doc: TextDocument): MarkoFile; export declare function clearMarkoCacheForFile(doc: TextDocument): void; /** * Run some processing against a parsed document and cache the result. * Anytime the document changes, the cache is cleared. */ export declare function processDoc(doc: TextDocument, process: (file: MarkoFile) => T): T;