import type { FunctionComponent, Ref } from 'react';
import type { CategoryName, Data as EmojiData, BackgroundImageFn, PickerProps } from 'emoji-mart';
import type { BaseProps, NoChildrenProp } from '../../types';
type EmojiSet = 'apple' | 'google' | 'twitter' | 'facebook';
export interface EmojiPickerProps extends BaseProps, NoChildrenProp {
    /** Individual emojis size in pixels. */
    emojiSize?: number;
    /** Number of emoji per line in a picker. */
    perLine?: number;
    /** Don't load excluded categories. Accepts [I18n categories keys](https://www.npmjs.com/package/emoji-mart#i18n). */
    exclude?: CategoryName[];
    /** Show footer for picker. */
    showFooter?: boolean;
    /** A Fn that gets called on selecting an emoji from picker. */
    onSelect?: PickerProps['onSelect'];
    /** Ref for the emoji Picker */
    ref?: Ref<HTMLDivElement>;
}
export interface EmojiContextValue {
    /**
     * A Fn that returns that image sheet to use for emojis.
     * If no sprite is provided, native emoji are used.
     * For the source of image please visit this [link](https://www.jsdelivr.com/package/npm/emoji-datasource?version=5.0.1&path=img)
     */
    spriteSrcResolver?: BackgroundImageFn;
    /** Emoji set to be used. */
    set?: EmojiSet;
    /** Data to be used. [link](https://github.com/iamcal/emoji-data).
     * Use this in case you would like to filter out some emoji, one must change the sprite image accordingly. */
    overrideData?: EmojiData;
}
export declare const EmojiContext: import("react").Context<EmojiContextValue>;
declare const EmojiPicker: FunctionComponent<EmojiPickerProps>;
export default EmojiPicker;
//# sourceMappingURL=EmojiPicker.d.ts.map