import type { SDKUnsupportedReasons } from '@loomhq/record-sdk';
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
import type { EditorCommand, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
import type { LoomPlugin } from '../loomPluginType';
import type { LoomProviderOptions, PositionType, VideoMeta } from '../types';
export declare const enableLoom: ({ loomButton }: {
    loomButton: HTMLButtonElement;
}) => EditorCommand;
export declare const disableLoom: ({ error }: {
    error: string;
}) => EditorCommand;
export declare const recordVideo: ({ inputMethod, editorAnalyticsAPI, }: {
    editorAnalyticsAPI: EditorAnalyticsAPI | undefined;
    inputMethod: INPUT_METHOD;
}) => EditorCommand;
export declare const recordVideoFailed: ({ inputMethod, error, editorAnalyticsAPI, }: {
    editorAnalyticsAPI: EditorAnalyticsAPI | undefined;
    error: SDKUnsupportedReasons | undefined;
    inputMethod: INPUT_METHOD;
}) => EditorCommand;
export declare const insertVideo: ({ editorAnalyticsAPI, video, }: {
    editorAnalyticsAPI: EditorAnalyticsAPI | undefined;
    video: VideoMeta;
}) => EditorCommand;
export declare const insertLoom: (editorView: EditorView | null, api: ExtractInjectionAPI<LoomPlugin> | undefined, video: VideoMeta, positionType: PositionType) => boolean;
export declare const executeRecordVideo: (api: ExtractInjectionAPI<LoomPlugin> | undefined) => void;
export declare const setupLoom: (loomProvider: LoomProviderOptions, api: ExtractInjectionAPI<LoomPlugin> | undefined, editorView: EditorView | null, 
/**
 * Whether loom initialisation is evoked via `initLoom` command.
 */
initViaCommand?: boolean) => Promise<{
    error?: string;
}>;
