import type { ADFEntity } from '@atlaskit/adf-utils/types';
import type { ExtensionAPI } from './types/extension-handler';
import type { ExtensionAutoConvertHandler, ExtensionManifest, ExtensionModule } from './types/extension-manifest';
import type { ExtensionToolbarItem } from './types/extension-manifest-toolbar-item';
import type { Parameters } from './types/extension-parameters';
import type { ExtensionProvider } from './types/extension-provider';
import type { MenuItem } from './types/utils';
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) => ExtensionToolbarItem[];
