import { NgZone } from '@angular/core';
import { AnyExtension } from '@tiptap/core';
import { LinkOptions } from '@tiptap/extension-link';
import { TipDialogService } from '../../services/dialog.service';
import { TiptapEventService } from '../../services/tiptap-event.service';
import { TipBaseExtension } from '../tip-base-extension';
import * as i0 from "@angular/core";
export interface NgxLinkOptions {
    native: Partial<LinkOptions>;
    ng: Partial<{
        inputPlaceholder: string;
    }>;
}
export declare class NgxLink extends TipBaseExtension<NgxLinkOptions> {
    private dialogService;
    protected eventService: TiptapEventService;
    private ngZone;
    private document;
    defaultOptions: Partial<NgxLinkOptions>;
    private createDialog;
    private previewDialog;
    private linkElement;
    constructor(dialogService: TipDialogService, eventService: TiptapEventService, ngZone: NgZone, document: Document);
    onEditorDestroy(): void;
    onEditorReady(): void;
    createExtension(extensionOptions: NgxLinkOptions): AnyExtension;
    openCreateLinkDialog(): Promise<void>;
    can(): boolean;
    isActive(): boolean;
    private toggleLinkPreview;
    private closeLinkPreview;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxLink, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxLink>;
}
