import type { Middleware, TextComposerMiddlewareExecutorState, TextComposerMiddlewareOptions, TextComposerSuggestion } from 'stream-chat';
import type { EmojiSearchIndex, EmojiSearchIndexResult } from '../../../components/MessageInput';
export type EmojiSuggestion<T extends EmojiSearchIndexResult = EmojiSearchIndexResult> = TextComposerSuggestion<T>;
export type EmojiMiddleware<T extends EmojiSearchIndexResult = EmojiSearchIndexResult> = Middleware<TextComposerMiddlewareExecutorState<EmojiSuggestion<T>>, 'onChange' | 'onSuggestionItemSelect'>;
/**
 * TextComposer middleware for mentions
 * Usage:
 *
 *  const textComposer = new TextComposer(options);
 *
 *  textComposer.use(new createTextComposerEmojiMiddleware(emojiSearchIndex, {
 *   minChars: 2
 *  }));
 *
 * @param emojiSearchIndex
 * @param {{
 *     minChars: number;
 *     trigger: string;
 *   }} options
 * @returns
 */
export declare const createTextComposerEmojiMiddleware: (emojiSearchIndex: EmojiSearchIndex, options?: Partial<TextComposerMiddlewareOptions>) => EmojiMiddleware;
