import type { ExtensionLayout } from '@atlaskit/adf-schema';
import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
export type ExtensionType = 'extension' | 'bodiedExtension' | 'inlineExtension' | 'multiBodiedExtension';
export interface MacroAttributes {
    attrs: {
        extensionKey: string;
        extensionType: string;
        layout?: ExtensionLayout;
        parameters?: {
            macroMetadata?: object;
            macroParams?: object;
        };
        text?: string;
    };
    content?: any;
    type: ExtensionType;
}
export interface MacroProvider {
    autoConvert: (link: string) => MacroAttributes | null;
    config: Object;
    /**
     * If "macro" param is passed in, it will open macro browser for editing the macro
     */
    openMacroBrowser: (macroNode?: PmNode) => Promise<MacroAttributes>;
}
