import { IEvent, Uri } from 'monaco-editor';
import { IArcadeWorker } from './types';
import { Diagnostic } from '@arcgis/arcade-languageservice';
import { ArcadeLanguageServiceDefaults } from './arcade-defaults';
/**
 * Returns the arcade worker for the model uris.
 * @param uris The model uris for which to get the worker.
 * @returns The arcade worker.
 */
export declare function getArcadeWorker(...uris: Uri[]): Promise<IArcadeWorker>;
export interface IDiagnosticsEvent {
    /**
     * The uri of the model for which the diagnostics changed.
     */
    uri: Uri;
    /**
     * The diagnostics for the model.
     */
    diagnostics: Diagnostic[];
}
export interface IDiagnosticService {
    onDiagnosticsChange: IEvent<IDiagnosticsEvent>;
}
/**
 * Get the Arcade Diagnostic Service.
 * @returns The Arcade Language Diagnostic Service.
 */
export declare function getArcadeDiagnosticService(): IDiagnosticService;
export declare function setupMode(arcadeDefaults: ArcadeLanguageServiceDefaults): void;
