import { AppEvent } from './AppEvents'; import { DataStore } from './data/DataStore'; import { Events } from './events'; import { Bundle } from './i18n/bundle'; import { Renderer } from './renderers/renderer'; import { PickerOptions, EmojiRecord } from './types'; import { View } from './views/view'; type DependencyMapping = { events: Events; i18n: Bundle; renderer: Renderer; emojiData: Promise; options: PickerOptions; customEmojis: EmojiRecord[]; pickerId: string; }; export type ViewConstructor = new (...args: any[]) => T; export type ViewConstructorParameters = ConstructorParameters>; export declare class ViewFactory { private events; private i18n; private renderer; private emojiData; private options; private customEmojis; private pickerId; constructor({ events, i18n, renderer, emojiData, options, customEmojis, pickerId }: DependencyMapping); setEmojiData(emojiData: DataStore): void; create(constructor: ViewConstructor, ...args: ViewConstructorParameters): T; } export {};