<!-- API Report Version: 2.3 -->

## API Report File for "@atlaskit/editor-plugin-status"

> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)

### Table of contents

- [Main Entry Types](#main-entry-types)
- [Peer Dependencies](#peer-dependencies)

### Main Entry Types

<!--SECTION START: Main Entry Types-->

```ts
import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
import type { Color } from '@atlaskit/status/element';
import type { Command } from '@atlaskit/editor-common/types';
import type { EditorCommand } from '@atlaskit/editor-common/types';
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
import type { OptionalPlugin } from '@atlaskit/editor-common/types';
import type { TOOLBAR_MENU_TYPE } from '@atlaskit/editor-common/types';

// @public (undocumented)
enum closingMethods {
	// (undocumented)
	ArrowLeft = 'arrowLeft',
	// (undocumented)
	ArrowRight = 'arrowRight',
}

// @public (undocumented)
type ClosingPayload = {
	closingMethod: closingMethods;
};

// @public (undocumented)
const commitStatusPicker: (closingPayload?: ClosingPayload) => (editorView: EditorView) => void;

// @public (undocumented)
const removeStatus: (showStatusPickerAt: number) => EditorCommand;

// @public (undocumented)
export type StatusPlugin = NextEditorPlugin<
	'status',
	{
		dependencies: [OptionalPlugin<AnalyticsPlugin>];
		pluginConfiguration: StatusPluginOptions | undefined;
		actions: {
			commitStatusPicker: typeof commitStatusPicker;
			updateStatus: UpdateStatus;
		};
		commands: {
			removeStatus: typeof removeStatus;
		};
	}
>;

// @public (undocumented)
export const statusPlugin: StatusPlugin;

// @public (undocumented)
interface StatusPluginOptions {
	// (undocumented)
	allowZeroWidthSpaceAfter?: boolean;
	// (undocumented)
	menuDisabled: boolean;
}

// @public (undocumented)
export type StatusState = {
	isNew: boolean;
	showStatusPickerAt: null | number;
	focusStatusInput?: boolean;
};

// @public (undocumented)
export type StatusType = {
	color: Color;
	text: string;
	localId?: string;
};

// @public (undocumented)
type UpdateStatus = (inputMethod: TOOLBAR_MENU_TYPE, status?: StatusType) => Command;

// (No @packageDocumentation comment for this package)
```

<!--SECTION END: Main Entry Types-->

### Peer Dependencies

<!--SECTION START: Peer Dependencies-->

```json
{
	"react": "^16.8.0",
	"react-intl": "npm:react-intl@^5.18.1"
}
```

<!--SECTION END: Peer Dependencies-->
