import type { BaseDecorator, BaseInterface } from '../Base/types.js'; import type { Base } from '../Base/index.js'; import type { DragServiceOptions, DragServiceProps } from '../services/index.js'; export type DragDecoratorOptions = DragServiceOptions & { target?: (this: Base, instance: Base) => HTMLElement; }; export interface WithDragInterface extends BaseInterface { dragged?(props: DragServiceProps): void; } /** * Add dragging capabilities to a component. * @link https://js-toolkit.studiometa.dev/api/decorators/withDrag.html */ export declare function withDrag(BaseClass: typeof Base, { target, ...options }?: DragDecoratorOptions): BaseDecorator;