import * as monaco from '@codingame/monaco-vscode-editor-api'; import { LogLevel } from '@codingame/monaco-vscode-api'; import { type IExtensionManifest, type RegisterExtensionResult } from '@codingame/monaco-vscode-api/extensions'; import { MonacoLanguageClient } from 'monaco-languageclient'; import { type VscodeApiConfig } from 'monaco-languageclient/vscode/services'; import { type Logger } from 'monaco-languageclient/tools'; import { type OverallConfigType } from './vscode/services.js'; import { type CodeResources, EditorApp, type EditorAppConfig, type TextContents, type TextModels } from './editorApp.js'; import { type LanguageClientConfig, LanguageClientWrapper } from './languageClientWrapper.js'; export interface ExtensionConfig { config: IExtensionManifest; filesOrContents?: Map; } export interface LanguageClientConfigs { automaticallyInit?: boolean; automaticallyStart?: boolean; automaticallyDispose?: boolean; automaticallyDisposeWorkers?: boolean; configs: Record; } export interface WrapperConfig { $type: OverallConfigType; htmlContainer?: HTMLElement; id?: string; logLevel?: LogLevel | number; automaticallyDispose?: boolean; extensions?: ExtensionConfig[]; vscodeApiConfig?: VscodeApiConfig; editorAppConfig?: EditorAppConfig; languageClientConfigs?: LanguageClientConfigs; } /** * This class is responsible for the overall ochestration. * It inits, start and disposes the editor apps and the language client (if configured) and provides * access to all required components. */ export declare class MonacoEditorLanguageClientWrapper { private id; private editorApp?; private extensionRegisterResults; private disposableStore; private languageClientWrappers; private wrapperConfig?; private logger; private initAwait?; private initResolve; private startingAwait?; private startingResolve; private disposingAwait?; private disposingResolve; /** * Perform an isolated initialization of the user services and the languageclient wrapper (if used). */ init(wrapperConfig: WrapperConfig): Promise; initLanguageClients(): void; initExtensions(): Promise; private markInitializing; private markInitialized; isInitializing(): boolean; getInitializingAwait(): Promise | undefined; getWrapperConfig(): WrapperConfig | undefined; getExtensionRegisterResult(extensionName: string): RegisterExtensionResult | undefined; /** * Performs a full user configuration and the languageclient wrapper (if used) init and then start the application. */ initAndStart(wrapperConfig: WrapperConfig): Promise; /** * Does not perform any user configuration or other application init and just starts the application. */ start(htmlContainer?: HTMLElement): Promise; startLanguageClients(): Promise; private markStarting; private markStarted; isStarting(): boolean; getStartingAwait(): Promise | undefined; isStarted(): boolean; haveLanguageClients(): boolean; getEditorApp(): EditorApp | undefined; getEditor(): monaco.editor.IStandaloneCodeEditor | undefined; getDiffEditor(): monaco.editor.IStandaloneDiffEditor | undefined; getLanguageClientWrapper(languageId: string): LanguageClientWrapper | undefined; getLanguageClient(languageId: string): MonacoLanguageClient | undefined; getTextModels(): TextModels | undefined; getWorker(languageId: string): Worker | undefined; getLogger(): Logger; updateCodeResources(codeResources?: CodeResources): Promise; registerTextChangedCallback(onTextChanged?: (textChanges: TextContents) => void): void; reportStatus(): string[]; /** * Disposes all application and editor resources, plus the languageclient (if used). */ dispose(): Promise; disposeLanguageClients(): Promise; private markDisposing; private markDisposed; isDisposing(): boolean; getDisposingAwait(): Promise | undefined; updateLayout(): void; } //# sourceMappingURL=wrapper.d.ts.map