import type { LinkStepMetadata } from '@atlaskit/adf-schema/steps';
import type { EditorState, Transaction } from '@atlaskit/editor-prosemirror/state';
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
export type CommandDispatch = (tr: Transaction) => void;
export type Command = (state: EditorState, dispatch?: CommandDispatch, view?: EditorView) => boolean;
/**
 * Adds metadata to the transaction created from a command
 * The metadata describes the user intent and input method
 * for executing the command
 */
export declare const commandWithMetadata: (command: Command, metadata: LinkStepMetadata) => Command;
export { addLinkMetadata } from './addLinkMetadata';
export { getLinkMetadataFromTransaction } from './getLinkMetadataFromTransaction';
