import { worker } from 'monaco-editor';
import { IArcadeWorker } from './types';
import { Diagnostic, ArcadeApiContext } from '@arcgis/arcade-languageservice';
import { CompletionList, Position, TextEdit } from 'vscode-languageserver-types';
import { WorkerHost } from '../language-defaults-base';
interface IArcadeWorkerData {
    languageId: string;
}
/**
 * The Arcade Web Worker is leveraging the Arcade Language Service to provide the editor functionalities.
 * The Arcade Web Worker is proxied by the Monaco worker server.
 */
export declare class ArcadeWorker implements IArcadeWorker {
    private _ctx;
    private _languageId;
    private _languageService;
    constructor(_ctx: worker.IWorkerContext<WorkerHost>, { languageId }: IArcadeWorkerData);
    doValidation(modelId: string, context: ArcadeApiContext): Promise<Diagnostic[]>;
    doComplete(modelId: string, position: Position, context: ArcadeApiContext): Promise<CompletionList>;
    doFormat(modelId: string, context: ArcadeApiContext): Promise<TextEdit[]>;
    private _getTextDocument;
}
export {};
