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`
 *   <div ${drag()}>
 *     <div ${dragPreview({ matchSize: true })}>
 *       <strong>Custom Preview!</strong>
 *     </div>
 *     <div>Actual content</div>
 *   </div>
 * `
 * ```
 */
export declare const dragPreview: (...values: Parameters<DragPreviewDirective["render"]>) => any;
//# sourceMappingURL=DragPreviewDirective.d.ts.map