import type { CodeInformation, VirtualCode } from '@volar/language-core'; import type { TextDocument } from 'vscode-languageserver-textdocument'; import type { SourceMapWithDocuments } from '../documents'; import type { ServiceContext, ServicePluginInstance, ServicePlugin } from '../types'; export declare function documentFeatureWorker(context: ServiceContext, uri: string, valid: (map: SourceMapWithDocuments) => boolean, worker: (service: [ServicePlugin, ServicePluginInstance], document: TextDocument) => Thenable | T | null | undefined, transformResult: (result: T, map?: SourceMapWithDocuments) => T | undefined, combineResult?: (results: T[]) => T): Promise; export declare function languageFeatureWorker(context: ServiceContext, uri: string, getReadDocParams: () => K, eachVirtualDocParams: (map: SourceMapWithDocuments) => Generator, worker: (service: [ServicePlugin, ServicePluginInstance], document: TextDocument, params: K, map?: SourceMapWithDocuments) => Thenable | T | null | undefined, transformResult: (result: T, map?: SourceMapWithDocuments) => T | undefined, combineResult?: (results: T[]) => T): Promise; export declare function safeCall(cb: () => Thenable | T, errorMsg?: string): Promise; export declare function eachEmbeddedDocument(context: ServiceContext, current: VirtualCode, rootCode?: VirtualCode): Generator>; export declare function getEmbeddedFilesByLevel(context: ServiceContext, sourceFileUri: string, rootFile: VirtualCode, level: number): VirtualCode[];