Files
Basilosaurusrex f027651f9b main repo
2025-11-24 18:09:40 +01:00

17 lines
684 B
TypeScript

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