import type { TemplateResult } from 'lit'; /** * Configuration for drag preview directive. * * @public */ export interface IDragPreviewConfig { /** * Template function to render custom preview. */ template?: () => TemplateResult; /** * Whether to match size of dragged element. * * @defaultValue false */ matchSize?: boolean; /** * Optional data to pass to preview template. */ data?: any; } /** * Define a custom drag preview template. * The element with this directive will be cloned and used as the drag preview. * * @param config - Configuration options. * @returns Directive. * * @public * * @example * ```typescript * html` *