/**
 * ProseMirror link editing control for the editor toolbar.
 *
 * Renders a toolbar button that toggles link marks on/off, along with an
 * inline URL text input and a "go" button that opens the entered URL in a
 * new tab.
 *
 * @module
 */
import { Signal, Value } from '@tempots/dom';
import { EditorView } from 'prosemirror-view';
import { ControlSize } from '../theme';
/**
 * Configuration properties for the {@link LinkControl} component.
 */
export interface LinkDialogButtonProps {
    /** Ticker signal that increments on every ProseMirror state change. */
    stateUpdate: Signal<number>;
    /** Signal holding the current ProseMirror `EditorView`. */
    view: Signal<EditorView>;
    /** Signal indicating whether the editor is in read-only mode. */
    isReadOnly: Signal<boolean>;
    /** Accessible label for the link toolbar button. */
    label: Value<string>;
    /** Placeholder text shown in the URL input field. */
    linkUrlPlaceholder: Value<string>;
    /** Size of the toolbar button and input controls. */
    size: Value<ControlSize>;
}
/**
 * A toolbar control for editing hyperlinks in a ProseMirror editor.
 *
 * Renders a link toggle button that creates or removes link marks on the
 * current selection. When a link is active, an inline `TextInput` appears
 * allowing the user to edit the URL, along with a "go" button to open the
 * URL in a new browser tab.
 *
 * @param props - Configuration for the link control (view, state, labels, etc.).
 * @returns A `TNode` renderable for inclusion in a ProseMirror toolbar.
 *
 * @example
 * ```ts
 * LinkControl({
 *   stateUpdate: editorStateNotifier,
 *   view: editorViewSignal,
 *   isReadOnly: signal(false),
 *   label: 'Link',
 *   linkUrlPlaceholder: 'Enter URL...',
 *   size: 'sm',
 * })
 * ```
 */
export declare function LinkControl({ stateUpdate, view, isReadOnly, label, linkUrlPlaceholder, size, }: LinkDialogButtonProps): import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
