import type { ADFEntity } from '@atlaskit/adf-utils/types';
import type { ExtensionAPI, ExtensionAutoConvertHandler, ExtensionManifest, ExtensionModule, ExtensionProvider, ExtensionToolbarButton, MenuItem, Parameters } from './types';
export declare const groupBy: <T>(arr: T[], attr: keyof T, keyRenamer: (key: T[keyof T]) => string) => {
    [k: string]: T;
};
export declare function buildMenuItem<T extends Parameters>(manifest: ExtensionManifest<T>, extensionModule: ExtensionModule<T>): MenuItem;
export declare const getQuickInsertItemsFromModule: <T extends Parameters>(extensions: ExtensionManifest<T>[], transformFunction: (value: MenuItem, index: number) => T) => T[];
export declare function getAutoConvertPatternsFromModule<T extends Parameters>(extensions: ExtensionManifest<T>[]): Promise<ExtensionAutoConvertHandler[]>;
export declare const createAutoConverterRunner: (autoConvertHandlers: ExtensionAutoConvertHandler[]) => ExtensionAutoConvertHandler;
export declare function getExtensionAutoConvertersFromProvider(extensionProviderPromise: Promise<ExtensionProvider>): Promise<ExtensionAutoConvertHandler>;
export declare const getContextualToolbarItemsFromModule: (extensions: ExtensionManifest[], node: ADFEntity, api: ExtensionAPI) => ExtensionToolbarButton[];
