import { CreateOptionsType, LooseOptionsType } from './Options'; import { EmblaCarouselType } from './EmblaCarousel'; import { OptionsHandlerType } from './OptionsHandler'; export type LoosePluginType = { [key: string]: unknown; }; export type CreatePluginType = TypeA & { name: string; options: Partial>; init: (embla: EmblaCarouselType, OptionsHandler: OptionsHandlerType) => void; destroy: () => void; }; export interface EmblaPluginsType { [key: string]: CreatePluginType; } export type EmblaPluginType = EmblaPluginsType[keyof EmblaPluginsType];