import type { Extension } from '@codemirror/state';
import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
import type { CodeBlockPlugin } from '@atlaskit/editor-plugin-code-block';
import type { ContentFormatPlugin } from '@atlaskit/editor-plugin-content-format';
import type { EditorDisabledPlugin } from '@atlaskit/editor-plugin-editor-disabled';
import type { FindReplacePlugin } from '@atlaskit/editor-plugin-find-replace';
import type { SelectionPlugin } from '@atlaskit/editor-plugin-selection';
import type { SelectionMarkerPlugin } from '@atlaskit/editor-plugin-selection-marker';
export type CodeBlockAdvancedPlugin = NextEditorPlugin<'codeBlockAdvanced', {
    dependencies: [
        OptionalPlugin<CodeBlockPlugin>,
        SelectionPlugin,
        OptionalPlugin<EditorDisabledPlugin>,
        OptionalPlugin<SelectionMarkerPlugin>,
        OptionalPlugin<FindReplacePlugin>,
        OptionalPlugin<ContentFormatPlugin>
    ];
    pluginConfiguration: CodeBlockAdvancedPluginOptions | undefined;
}>;
export type CodeBlockAdvancedPluginOptions = {
    allowCodeFolding?: boolean;
    extensions?: Extension[];
};
