import { Directive, TemplateRef, Input, InjectionToken } from '@angular/core';
/**
 * Injection token that can be used to reference instances of `RDragPlaceholder`. It serves as
 * alternative token to the actual `RDragPlaceholder` class which could cause unnecessary
 * retention of the class and its directive metadata.
 */
export const R_DRAG_PLACEHOLDER = new InjectionToken('RDragPlaceholder');
/**
 * Element that will be used as a template for the placeholder of a RDrag when
 * it is being dragged. The placeholder is displayed in place of the element being dragged.
 */
export class RDragPlaceholder {
    constructor(templateRef) {
        this.templateRef = templateRef;
    }
}
RDragPlaceholder.decorators = [
    { type: Directive, args: [{
                selector: 'ng-template[rDragPlaceholder]',
                providers: [{ provide: R_DRAG_PLACEHOLDER, useExisting: RDragPlaceholder }],
            },] }
];
RDragPlaceholder.ctorParameters = () => [
    { type: TemplateRef }
];
RDragPlaceholder.propDecorators = {
    data: [{ type: Input }]
};
//# sourceMappingURL=drag-placeholder.js.map