import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';
import * as emojis from './emojis';
import { EmojiCategory } from './emojis';
import { DropdownComponent } from '../button';
import * as i0 from "@angular/core";
export declare class EmojiDropdownComponent implements AfterViewInit {
    protected element: ElementRef;
    protected cd: ChangeDetectorRef;
    blacklist: string[];
    lastEmojis: string[];
    lastEmojisChange: EventEmitter<any>;
    emoji: string;
    emojiChange: EventEmitter<any>;
    dropdown: DropdownComponent;
    emojis: typeof emojis;
    search: string;
    categories: string[];
    constructor(element: ElementRef, cd: ChangeDetectorRef);
    getLast(emojis: string[]): string[] | undefined;
    ngAfterViewInit(): void;
    open(target: ElementRef): void;
    find(search: string): string[];
    choose(name: string): void;
    getCategory(name: string): EmojiCategory;
    static ɵfac: i0.ɵɵFactoryDeclaration<EmojiDropdownComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EmojiDropdownComponent, "dui-emoji-dropdown", never, { "blacklist": { "alias": "blacklist"; "required": false; }; "lastEmojis": { "alias": "lastEmojis"; "required": false; }; "emoji": { "alias": "emoji"; "required": false; }; }, { "lastEmojisChange": "lastEmojisChange"; "emojiChange": "emojiChange"; }, never, never, false, never>;
}
export declare class EmojiDropdownDirective implements OnChanges, AfterViewInit, OnDestroy {
    protected elementRef: ElementRef;
    protected view: ViewContainerRef;
    protected resolver: ComponentFactoryResolver;
    protected dropdown?: ComponentRef<EmojiDropdownComponent>;
    lastEmojis: string[];
    lastEmojisChange: EventEmitter<any>;
    blacklist: string[];
    emoji: string;
    emojiChange: EventEmitter<any>;
    constructor(elementRef: ElementRef, view: ViewContainerRef, resolver: ComponentFactoryResolver);
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onClick(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EmojiDropdownDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EmojiDropdownDirective, "[duiEmojiDropdown]", never, { "lastEmojis": { "alias": "lastEmojis"; "required": false; }; "blacklist": { "alias": "blacklist"; "required": false; }; "emoji": { "alias": "emoji"; "required": false; }; }, { "lastEmojisChange": "lastEmojisChange"; "emojiChange": "emojiChange"; }, never, never, false, never>;
}
