import type { InteractEvent } from '@interactjs/core/InteractEvent'; import type Interaction from '@interactjs/core/Interaction'; import type { Plugin } from '@interactjs/core/scope'; import { Modification } from './Modification'; import type { Modifier, ModifierModule, ModifierState } from './types'; declare module '@interactjs/core/Interaction' { interface Interaction { modification?: Modification; } } declare module '@interactjs/core/InteractEvent' { interface InteractEvent { modifiers?: Array<{ name: string; [key: string]: any; }>; } } declare module '@interactjs/core/options' { interface PerActionDefaults { modifiers?: Modifier[]; } } export declare function makeModifier(module: ModifierModule, name?: Name): { (_options?: Partial): Modifier; _defaults: Defaults; _methods: { start: (arg: import("./types").ModifierArg) => void; set: (arg: import("./types").ModifierArg) => Result; beforeEnd: (arg: import("./types").ModifierArg) => void | import("@interactjs/core/types").Point; stop: (arg: import("./types").ModifierArg) => void; }; }; export declare function addEventModifiers({ iEvent, interaction, }: { iEvent: InteractEvent; interaction: Interaction; }): void; declare const modifiersBase: Plugin; export default modifiersBase;