import { FC, MutableRefObject } from 'react';
import { MonacoLanguageClient } from 'monaco-languageclient';
import { ICodeEditorService } from 'vscode/services';

export type LSPContextType = {
    inited: boolean;
    clientRef: MutableRefObject<MonacoLanguageClient | undefined>;
    lastError: Event | null;
    reload: () => void;
};
export type ICodeEditorOpenHandler = Parameters<ICodeEditorService['registerCodeEditorOpenHandler']>[0];
export declare const LSPProvider: FC<{
    language?: string;
    url: string;
    qodly: boolean;
    defaultZoom?: number;
    defaultInited?: boolean;
    openHandler?: ICodeEditorOpenHandler;
}>;
export declare function useLSP(): LSPContextType;
