import { EmojiMartData } from '@emoji-mart/data';
import { computePosition } from '@floating-ui/dom';
import { Picker } from 'emoji-mart';
import { default as FluentEditor } from '../fluent-editor';
export interface EmojiModuleOptions {
    emojiData?: EmojiMartData;
    EmojiPicker?: new (props: any) => Picker;
    emojiPickerPosition?: typeof computePosition;
    theme?: string;
    locale?: string;
    set?: string;
    skinTonePosition?: string;
    previewPosition?: string;
    searchPosition?: string;
    categories?: string[];
    maxFrequentRows?: number;
    perLine?: number;
    navPosition?: string;
    noCountryFlags?: boolean;
    dynamicWidth?: boolean;
}
declare class EmojiModule {
    private readonly quill;
    private readonly options;
    private picker;
    private isPickerVisible;
    private cleanupResizeObserver;
    constructor(quill: FluentEditor, options?: EmojiModuleOptions);
    private getEmojiButton;
    private updatePickerPosition;
    private setupContainerResizeObserver;
    private createPicker;
    openDialog(): void;
    closeDialog(): void;
    private handleEmojiSelect;
    private handleClickOutside;
    destroy(): void;
}
export { EmojiModule };
