import { Color } from '../../utils/colors.ts';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /**
     * The emoji-set
     */
    activeSet: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Show preview section when hovering emoji
     */
    showPreview: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Allow unselecting the selected emoji
     */
    allowUnselect: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Selected emoji to allow unselecting
     */
    selectedEmoji: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The fallback emoji in the preview section
     */
    previewFallbackEmoji: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The fallback text in the preview section
     */
    previewFallbackName: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Whether to close the emoji picker after picking one
     */
    closeOnSelect: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Selector for the popover container
     */
    container: {
        type: (ObjectConstructor | BooleanConstructor | StringConstructor | {
            new (): Element;
            prototype: Element;
        })[];
        default: string;
    };
}>, {
    emojiIndex: any;
    skinTonePalette: Color[];
    i18n: {
        search: string;
        notfound: string;
        categories: {
            search: string;
            recent: string;
            smileys: string;
            people: string;
            nature: string;
            foods: string;
            activity: string;
            places: string;
            objects: string;
            symbols: string;
            flags: string;
            custom: string;
        };
    };
}, {
    /**
     * The current active color from the skin tone palette
     */
    currentColor: Color;
    /**
     * The current active skin tone
     *
     * @type {1|2|3|4|5|6}
     */
    currentSkinTone: 1 | 2 | 3 | 4 | 5 | 6;
    search: string;
    open: boolean;
}, {
    native(): boolean;
}, {
    t: (original: string, placeholders?: Record<string, string | number>) => string;
    clearSearch(): void;
    /**
     * Update the current skin tone by the result of the color picker
     *
     * @param {string} color Color set
     */
    onChangeSkinTone(color: string): void;
    select(emojiObject: any): void;
    unselect(): void;
    afterShow(): void;
    afterHide(): void;
    /**
     * Manually handle Tab navigation skipping emoji buttons.
     * Navigation over emojis is handled by Arrow keys.
     *
     * @param {KeyboardEvent} event - Keyboard event
     */
    handleTabNavigationSkippingEmojis(event: KeyboardEvent): void;
    /**
     * Handle arrow navigation via <Picker>'s handlers with scroll bug fix
     *
     * @param {'onArrowLeft' | 'onArrowRight' | 'onArrowDown' | 'onArrowUp'} originalHandlerName - Picker's arrow keydown handler name
     * @param {KeyboardEvent} event - Keyboard event
     */
    callPickerArrowHandlerWithScrollFix(originalHandlerName: "onArrowLeft" | "onArrowRight" | "onArrowDown" | "onArrowUp", event: KeyboardEvent): Promise<void>;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("select" | "selectData" | "unselect")[], "select" | "selectData" | "unselect", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /**
     * The emoji-set
     */
    activeSet: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Show preview section when hovering emoji
     */
    showPreview: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Allow unselecting the selected emoji
     */
    allowUnselect: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Selected emoji to allow unselecting
     */
    selectedEmoji: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The fallback emoji in the preview section
     */
    previewFallbackEmoji: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The fallback text in the preview section
     */
    previewFallbackName: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Whether to close the emoji picker after picking one
     */
    closeOnSelect: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Selector for the popover container
     */
    container: {
        type: (ObjectConstructor | BooleanConstructor | StringConstructor | {
            new (): Element;
            prototype: Element;
        })[];
        default: string;
    };
}>> & Readonly<{
    onSelect?: ((...args: any[]) => any) | undefined;
    onSelectData?: ((...args: any[]) => any) | undefined;
    onUnselect?: ((...args: any[]) => any) | undefined;
}>, {
    container: string | boolean | Element | Record<string, any>;
    activeSet: string;
    showPreview: boolean;
    allowUnselect: boolean;
    selectedEmoji: string;
    previewFallbackEmoji: string;
    previewFallbackName: string;
    closeOnSelect: boolean;
}, {}, {
    IconCircle: any;
    NcButton: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
            alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
            ariaLabel?: string;
            disabled?: boolean;
            download?: string | true;
            href?: string;
            pressed?: boolean | undefined;
            size?: import('../NcButton/NcButton.vue').ButtonSize;
            target?: string;
            text?: string;
            to?: import('vue-router').RouteLocationRaw;
            type?: import('../NcButton/NcButton.vue').ButtonType;
            variant?: import('../NcButton/NcButton.vue').ButtonVariant;
            wide?: boolean;
        }> & Readonly<{
            onClick?: ((e: MouseEvent) => any) | undefined;
            "onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
        }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            click: (e: MouseEvent) => any;
            "update:pressed": (pressed: boolean) => any;
        }, import('vue').PublicProps, {
            size: import('../NcButton/NcButton.vue').ButtonSize;
            type: import('../NcButton/NcButton.vue').ButtonType;
            text: string;
            alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
            ariaLabel: string;
            download: string | true;
            href: string;
            pressed: boolean;
            target: string;
            to: import('vue-router').RouteLocationRaw;
            variant: import('../NcButton/NcButton.vue').ButtonVariant;
        }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{
            alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
            ariaLabel?: string;
            disabled?: boolean;
            download?: string | true;
            href?: string;
            pressed?: boolean | undefined;
            size?: import('../NcButton/NcButton.vue').ButtonSize;
            target?: string;
            text?: string;
            to?: import('vue-router').RouteLocationRaw;
            type?: import('../NcButton/NcButton.vue').ButtonType;
            variant?: import('../NcButton/NcButton.vue').ButtonVariant;
            wide?: boolean;
        }> & Readonly<{
            onClick?: ((e: MouseEvent) => any) | undefined;
            "onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
        }>, {}, {}, {}, {}, {
            size: import('../NcButton/NcButton.vue').ButtonSize;
            type: import('../NcButton/NcButton.vue').ButtonType;
            text: string;
            alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
            ariaLabel: string;
            download: string | true;
            href: string;
            pressed: boolean;
            target: string;
            to: import('vue-router').RouteLocationRaw;
            variant: import('../NcButton/NcButton.vue').ButtonVariant;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<{
        alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
        ariaLabel?: string;
        disabled?: boolean;
        download?: string | true;
        href?: string;
        pressed?: boolean | undefined;
        size?: import('../NcButton/NcButton.vue').ButtonSize;
        target?: string;
        text?: string;
        to?: import('vue-router').RouteLocationRaw;
        type?: import('../NcButton/NcButton.vue').ButtonType;
        variant?: import('../NcButton/NcButton.vue').ButtonVariant;
        wide?: boolean;
    }> & Readonly<{
        onClick?: ((e: MouseEvent) => any) | undefined;
        "onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        click: (e: MouseEvent) => any;
        "update:pressed": (pressed: boolean) => any;
    }, string, {
        size: import('../NcButton/NcButton.vue').ButtonSize;
        type: import('../NcButton/NcButton.vue').ButtonType;
        text: string;
        alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
        ariaLabel: string;
        download: string | true;
        href: string;
        pressed: boolean;
        target: string;
        to: import('vue-router').RouteLocationRaw;
        variant: import('../NcButton/NcButton.vue').ButtonVariant;
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: Readonly<{
            default?: import('vue').Slot;
            icon?: import('vue').Slot;
        }> & {
            default?: import('vue').Slot;
            icon?: import('vue').Slot;
        };
    });
    NcColorPicker: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
            modelValue: string | undefined;
            open?: boolean;
        } & {
            advancedFields?: boolean;
            clearable?: boolean;
            container?: string | Element;
            palette?: string[] | Color[];
            paletteOnly?: boolean;
        }> & Readonly<{
            onSubmit?: ((args_0: string | undefined) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
            onClosed?: (() => any) | undefined;
            "onUpdate:open"?: ((value: boolean) => any) | undefined;
        }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            submit: (args_0: string | undefined) => any;
            "update:modelValue": (value: string | undefined) => any;
            closed: () => any;
            "update:open": (value: boolean) => any;
        }, import('vue').PublicProps, {
            container: string | Element;
            palette: string[] | Color[];
        }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{
            modelValue: string | undefined;
            open?: boolean;
        } & {
            advancedFields?: boolean;
            clearable?: boolean;
            container?: string | Element;
            palette?: string[] | Color[];
            paletteOnly?: boolean;
        }> & Readonly<{
            onSubmit?: ((args_0: string | undefined) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
            onClosed?: (() => any) | undefined;
            "onUpdate:open"?: ((value: boolean) => any) | undefined;
        }>, {}, {}, {}, {}, {
            container: string | Element;
            palette: string[] | Color[];
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<{
        modelValue: string | undefined;
        open?: boolean;
    } & {
        advancedFields?: boolean;
        clearable?: boolean;
        container?: string | Element;
        palette?: string[] | Color[];
        paletteOnly?: boolean;
    }> & Readonly<{
        onSubmit?: ((args_0: string | undefined) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
        onClosed?: (() => any) | undefined;
        "onUpdate:open"?: ((value: boolean) => any) | undefined;
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        submit: (args_0: string | undefined) => any;
        "update:modelValue": (value: string | undefined) => any;
        closed: () => any;
        "update:open": (value: boolean) => any;
    }, string, {
        container: string | Element;
        palette: string[] | Color[];
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: {
            default?(_: any): any;
        };
    });
    NcPopover: import('vue').DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import('vue').PublicProps>;
    NcTextField: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
            modelValue?: string | number;
        } & Omit<import('../NcInputField/NcInputField.vue').NcInputFieldProps, "type"> & {
            type?: Exclude<import('../NcInputField/NcInputField.vue').NcInputFieldProps["type"], "date" | "datetime-local" | "month" | "time" | "week">;
            trailingButtonIcon?: "arrowEnd" | "close" | "undo";
            trailingButtonLabel?: string;
        }> & Readonly<{
            "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
        }>, {
            focus: (options?: FocusOptions) => void;
            select: () => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            "update:modelValue": (value: string | number) => any;
        }, import('vue').PublicProps, {
            trailingButtonLabel: string;
            trailingButtonIcon: "arrowEnd" | "close" | "undo";
        }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
            inputField: ({
                $: import('vue').ComponentInternalInstance;
                $data: {};
                $props: {
                    readonly modelValue: string | number;
                    readonly class?: import('../../utils/VueTypes.ts').VueClassType | undefined;
                    readonly inputClass?: import('../../utils/VueTypes.ts').VueClassType | undefined;
                    readonly id?: string | undefined;
                    readonly label?: string | undefined;
                    readonly labelOutside?: boolean | undefined;
                    readonly type?: "text" | "password" | "email" | "tel" | "url" | "search" | "number" | "date" | "datetime-local" | "month" | "time" | "week" | undefined;
                    readonly placeholder?: string | undefined;
                    readonly showTrailingButton?: boolean | undefined;
                    readonly trailingButtonLabel?: string | undefined;
                    readonly success?: boolean | undefined;
                    readonly error?: boolean | undefined;
                    readonly helperText?: string | undefined;
                    readonly disabled?: boolean | undefined;
                    readonly pill?: boolean | undefined;
                    readonly onTrailingButtonClick?: ((event: MouseEvent) => any) | undefined;
                    readonly "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
                } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
                $attrs: import('vue').Attrs;
                $refs: {
                    [x: string]: unknown;
                } & {
                    input: HTMLInputElement;
                };
                $slots: Readonly<{
                    [name: string]: import('vue').Slot<any> | undefined;
                }>;
                $root: import('vue').ComponentPublicInstance | null;
                $parent: import('vue').ComponentPublicInstance | null;
                $host: Element | null;
                $emit: ((event: "trailingButtonClick", event: MouseEvent) => void) & ((event: "update:modelValue", value: string | number) => void);
                $el: any;
                $options: import('vue').ComponentOptionsBase<Readonly<{
                    modelValue: string | number;
                } & import('../NcInputField/NcInputField.vue').NcInputFieldProps> & Readonly<{
                    onTrailingButtonClick?: ((event: MouseEvent) => any) | undefined;
                    "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
                }>, {
                    focus: (options?: FocusOptions) => void;
                    select: () => void;
                }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                    trailingButtonClick: (event: MouseEvent) => any;
                    "update:modelValue": (value: string | number) => any;
                }, string, {
                    id: string;
                    type: "text" | "password" | "email" | "tel" | "url" | "search" | "number" | "date" | "datetime-local" | "month" | "time" | "week";
                    label: string;
                    class: import('../../utils/VueTypes.ts').VueClassType;
                    inputClass: import('../../utils/VueTypes.ts').VueClassType;
                    placeholder: string;
                    trailingButtonLabel: string;
                    helperText: string;
                }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
                    beforeCreate?: (() => void) | (() => void)[];
                    created?: (() => void) | (() => void)[];
                    beforeMount?: (() => void) | (() => void)[];
                    mounted?: (() => void) | (() => void)[];
                    beforeUpdate?: (() => void) | (() => void)[];
                    updated?: (() => void) | (() => void)[];
                    activated?: (() => void) | (() => void)[];
                    deactivated?: (() => void) | (() => void)[];
                    beforeDestroy?: (() => void) | (() => void)[];
                    beforeUnmount?: (() => void) | (() => void)[];
                    destroyed?: (() => void) | (() => void)[];
                    unmounted?: (() => void) | (() => void)[];
                    renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
                    renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
                    errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
                };
                $forceUpdate: () => void;
                $nextTick: typeof import('vue').nextTick;
                $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
            } & Readonly<{
                id: string;
                type: "text" | "password" | "email" | "tel" | "url" | "search" | "number" | "date" | "datetime-local" | "month" | "time" | "week";
                label: string;
                class: import('../../utils/VueTypes.ts').VueClassType;
                inputClass: import('../../utils/VueTypes.ts').VueClassType;
                placeholder: string;
                trailingButtonLabel: string;
                helperText: string;
            }> & Omit<Readonly<{
                modelValue: string | number;
            } & import('../NcInputField/NcInputField.vue').NcInputFieldProps> & Readonly<{
                onTrailingButtonClick?: ((event: MouseEvent) => any) | undefined;
                "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
            }>, "select" | "focus" | ("id" | "type" | "label" | "class" | "inputClass" | "placeholder" | "trailingButtonLabel" | "helperText")> & {
                focus: (options?: FocusOptions) => void;
                select: () => void;
            } & {} & import('vue').ComponentCustomProperties & {} & {
                $slots: Readonly<{
                    icon?: import('vue').Slot;
                    'trailing-button-icon'?: import('vue').Slot;
                }> & {
                    icon?: import('vue').Slot;
                    'trailing-button-icon'?: import('vue').Slot;
                };
            }) | null;
        }, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{
            modelValue?: string | number;
        } & Omit<import('../NcInputField/NcInputField.vue').NcInputFieldProps, "type"> & {
            type?: Exclude<import('../NcInputField/NcInputField.vue').NcInputFieldProps["type"], "date" | "datetime-local" | "month" | "time" | "week">;
            trailingButtonIcon?: "arrowEnd" | "close" | "undo";
            trailingButtonLabel?: string;
        }> & Readonly<{
            "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
        }>, {
            focus: (options?: FocusOptions) => void;
            select: () => void;
        }, {}, {}, {}, {
            trailingButtonLabel: string;
            trailingButtonIcon: "arrowEnd" | "close" | "undo";
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<{
        modelValue?: string | number;
    } & Omit<import('../NcInputField/NcInputField.vue').NcInputFieldProps, "type"> & {
        type?: Exclude<import('../NcInputField/NcInputField.vue').NcInputFieldProps["type"], "date" | "datetime-local" | "month" | "time" | "week">;
        trailingButtonIcon?: "arrowEnd" | "close" | "undo";
        trailingButtonLabel?: string;
    }> & Readonly<{
        "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
    }>, {
        focus: (options?: FocusOptions) => void;
        select: () => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        "update:modelValue": (value: string | number) => any;
    }, string, {
        trailingButtonLabel: string;
        trailingButtonIcon: "arrowEnd" | "close" | "undo";
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: Readonly<{
            icon?: import('vue').Slot;
        }> & {
            icon?: import('vue').Slot;
        };
    });
    Emoji: any;
    Picker: any;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
