import { Disposable } from "../../../../base/common/lifecycle.js"; import { ICodeEditor } from "../../../browser/editorBrowser.js"; import { Position } from "../../../common/core/position.js"; import { IEditorContribution } from "../../../common/editorCommon.js"; import { IModelDecorationsChangeAccessor, IModelDeltaDecoration } from "../../../common/model.js"; import { ILanguageFeatureDebounceService } from "../../../common/services/languageFeatureDebounce.service.js"; import { ILanguageFeaturesService } from "../../../common/services/languageFeatures.service.js"; import { Link } from "./getLinks.js"; import { INotificationService } from "../../../../platform/notification/common/notification.service.js"; import { IOpenerService } from "../../../../platform/opener/common/opener.service.js"; export declare class LinkDetector extends Disposable implements IEditorContribution { private readonly editor; private readonly openerService; private readonly notificationService; private readonly languageFeaturesService; static readonly ID: string; static get(editor: ICodeEditor): LinkDetector | null; private readonly providers; private readonly debounceInformation; private readonly computeLinks; private computePromise; private activeLinksList; private activeLinkDecorationId; private currentOccurrences; constructor(editor: ICodeEditor, openerService: IOpenerService, notificationService: INotificationService, languageFeaturesService: ILanguageFeaturesService, languageFeatureDebounceService: ILanguageFeatureDebounceService); private computeLinksNow; private updateDecorations; private _onEditorMouseMove; private cleanUpActiveLinkDecoration; private onEditorMouseUp; openLinkOccurrence(occurrence: LinkOccurrence, openToSide: boolean, fromUserGesture?: boolean): void; getLinkOccurrence(position: Position | null): LinkOccurrence | null; private isEnabled; private stop; dispose(): void; } declare class LinkOccurrence { static decoration(link: Link, useMetaKey: boolean): IModelDeltaDecoration; private static _getOptions; decorationId: string; link: Link; constructor(link: Link, decorationId: string); activate(changeAccessor: IModelDecorationsChangeAccessor, useMetaKey: boolean): void; deactivate(changeAccessor: IModelDecorationsChangeAccessor, useMetaKey: boolean): void; } export {};