import type { TextDocument } from 'vscode-languageserver-textdocument'; import { Service, ServiceContext, Rule, RuleContext, RuleType } from '../types'; import { FileRangeCapabilities, VirtualFile } from '@volar/language-core'; import { SourceMapWithDocuments } from '../documents'; export declare function documentFeatureWorker(context: ServiceContext, uri: string, isValidSourceMap: (file: VirtualFile, sourceMap: SourceMapWithDocuments) => boolean, worker: (service: ReturnType, document: TextDocument) => T, transform: (result: NonNullable>, sourceMap: SourceMapWithDocuments | undefined) => Awaited | undefined, combineResult?: (results: NonNullable>[]) => NonNullable>): Promise> | undefined>; export declare function languageFeatureWorker(context: ServiceContext, uri: string, arg: K, transformArg: (arg: K, sourceMap: SourceMapWithDocuments, file: VirtualFile) => Generator | K[], worker: (service: ReturnType, document: TextDocument, arg: K, sourceMap: SourceMapWithDocuments | undefined, file: VirtualFile | undefined) => T, transform: (result: NonNullable>, sourceMap: SourceMapWithDocuments | undefined) => Awaited | undefined, combineResult?: (results: NonNullable>[]) => NonNullable>, reportProgress?: (result: NonNullable>) => void): Promise> | undefined>; export declare function ruleWorker(context: ServiceContext, ruleType: RuleType, uri: string, isValidSourceMap: (file: VirtualFile) => boolean, worker: (ruleId: string, rule: Rule, document: TextDocument, ruleCtx: RuleContext) => T, transform: (result: NonNullable>, sourceMap: SourceMapWithDocuments | undefined) => Awaited | undefined, combineResult?: (results: NonNullable>[]) => NonNullable>, reportProgress?: (result: NonNullable>) => void): Promise> | undefined>; export declare function safeCall(cb: () => Promise | T, errorMsg?: string): Promise; //# sourceMappingURL=featureWorkers.d.ts.map