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

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

> 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 { EditorCommand } from '@atlaskit/editor-common/types';
import type { EmojiDescription } from '@atlaskit/emoji';
import type { EmojiId } from '@atlaskit/emoji';
import type { EmojiProvider } from '@atlaskit/emoji';
import type { EmojiResourceConfig } from '@atlaskit/emoji';
import type { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
import type { OptionalPlugin } from '@atlaskit/editor-common/types';
import type { TypeAheadHandler } from '@atlaskit/editor-common/types';
import type { TypeAheadInputMethod } from '@atlaskit/editor-plugin-type-ahead';
import type { TypeAheadPlugin } from '@atlaskit/editor-plugin-type-ahead';

// @public (undocumented)
export type EmojiPlugin = NextEditorPlugin<
	'emoji',
	{
		pluginConfiguration: EmojiPluginOptions | undefined;
		dependencies: [OptionalPlugin<AnalyticsPlugin>, TypeAheadPlugin];
		sharedState: EmojiPluginSharedState | undefined;
		commands: {
			insertEmoji: (
				emojiId: EmojiId,
				inputMethod?: INPUT_METHOD.ASCII | INPUT_METHOD.PICKER | INPUT_METHOD.TYPEAHEAD,
			) => EditorCommand;
		};
		actions: {
			openTypeAhead: (inputMethod: TypeAheadInputMethod) => boolean;
		};
	}
>;

// @public
export const emojiPlugin: EmojiPlugin;

// @public (undocumented)
export interface EmojiPluginOptions {
	// (undocumented)
	headless?: boolean;
}

// @public (undocumented)
type EmojiPluginSharedState = EmojiPluginState & {
	typeAheadHandler: TypeAheadHandler;
};

// @public (undocumented)
export type EmojiPluginState = {
	emojiProvider?: EmojiProvider;
	emojiResourceConfig?: EmojiResourceConfig;
	asciiMap?: Map<string, EmojiDescription>;
};

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

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

### Peer Dependencies

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

```json
{
	"react": "^16.8.0"
}
```

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