import type { IntlShape } from 'react-intl-next';
import type { RichMediaLayout as MediaSingleLayout } from '@atlaskit/adf-schema';
import type { NodeType } from '@atlaskit/editor-prosemirror/model';
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
import type { EditorAnalyticsAPI } from '../../analytics';
import { type Keymap } from '../../keymaps';
import type { Command, EditorContainerWidth, FloatingToolbarItem, Icon, NextEditorPlugin, PluginDependenciesAPI } from '../../types';
type WidthPluginType = NextEditorPlugin<'width', {
    sharedState: EditorContainerWidth | undefined;
}>;
type WidthPluginDependencyApi = PluginDependenciesAPI<WidthPluginType> | undefined;
export type LayoutIcon = {
    icon: Icon;
    id?: string;
    keyboardShortcut?: Keymap;
    value: MediaSingleLayout;
};
export type IconMap = Array<LayoutIcon | {
    value: 'separator';
}>;
export declare const alignmentIcons: LayoutIcon[];
export declare const wrappingIcons: LayoutIcon[];
export declare const layoutToMessages: Record<string, any>;
declare const buildLayoutButtons: (state: EditorState, intl: IntlShape, nodeType: NodeType, widthPluginDependencyApi: WidthPluginDependencyApi, analyticsApi: EditorAnalyticsAPI | undefined, allowResizing?: boolean, allowResizingInTables?: boolean, allowWrapping?: boolean, allowAlignment?: boolean, isChangingLayoutDisabled?: boolean, allowPixelResizing?: boolean) => FloatingToolbarItem<Command>[];
export declare const buildLayoutDropdown: (state: EditorState, intl: IntlShape, nodeType: NodeType, widthPluginDependencyApi: WidthPluginDependencyApi, analyticsApi: EditorAnalyticsAPI | undefined, allowResizing?: boolean, allowResizingInTables?: boolean, allowWrapping?: boolean, allowAlignment?: boolean, isChangingLayoutDisabled?: boolean, allowPixelResizing?: boolean) => FloatingToolbarItem<Command>[];
export default buildLayoutButtons;
