import * as React from 'react'; import { SourceType } from '@~sunsimiao/cj-dnd-core'; import { DragSourceSpec, DragSourceCollector, DndOptions, DndComponentClass } from '../interfaces'; /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD optinos */ export default function DragSource(type: SourceType | ((props: Props) => SourceType), spec: DragSourceSpec, collect: DragSourceCollector, options?: DndOptions): | React.StatelessComponent>(DecoratedComponent: TargetClass) => TargetClass & DndComponentClass;