import React from 'react';
import type { UIAnalyticsEvent } from '@atlaskit/analytics-next';
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
import type { HyperlinkAddToolbarProps } from '@atlaskit/editor-common/link';
import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
import type { Command, ExtractInjectionAPI, FloatingToolbarConfig, FloatingToolbarItem, LinkInputType, LinkPickerOptions } from '@atlaskit/editor-common/types';
import type { ForceFocusSelector } from '@atlaskit/editor-plugin-floating-toolbar';
import type { Node } from '@atlaskit/editor-prosemirror/model';
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
import type { cardPlugin } from '../cardPlugin';
export type EditLinkToolbarProps = {
    forceFocusSelector: ForceFocusSelector | undefined;
    linkPickerOptions?: LinkPickerOptions;
    lpLinkPicker: boolean;
    node: Node;
    onSubmit?: (href: string, text?: string, inputMethod?: LinkInputType, analytic?: UIAnalyticsEvent | null | undefined) => void;
    providerFactory: ProviderFactory;
    text: string;
    url: string | undefined;
    view: EditorView;
};
export declare function HyperlinkAddToolbarWithState({ linkPickerOptions, onSubmit, displayText, displayUrl, providerFactory, view, onCancel, invokeMethod, lpLinkPicker, onClose, onEscapeCallback, onClickAwayCallback, }: HyperlinkAddToolbarProps): React.JSX.Element;
export declare class EditLinkToolbar extends React.Component<EditLinkToolbarProps> {
    componentDidUpdate(prevProps: EditLinkToolbarProps): void;
    componentWillUnmount(): void;
    private hideLinkToolbar;
    render(): React.JSX.Element;
}
export declare const getEditLinkCallback: (editorAnalyticsApi: EditorAnalyticsAPI | undefined, scrollIntoView: boolean) => Command;
export declare const buildEditLinkToolbar: ({ providerFactory, node, pluginInjectionApi, linkPicker, lpLinkPicker, }: {
    linkPicker?: LinkPickerOptions;
    lpLinkPicker: boolean;
    node: Node;
    pluginInjectionApi: ExtractInjectionAPI<typeof cardPlugin> | undefined;
    providerFactory: ProviderFactory;
}) => FloatingToolbarItem<Command>;
export declare const editLinkToolbarConfig: (showLinkingToolbar: boolean, lpLinkPicker?: boolean) => Partial<FloatingToolbarConfig>;
