/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ViewContainerRef, TemplateRef } from '@angular/core';
import { DragClueComponent } from './drag-clue.component';
import { DragAndDropScrollSettings, DropAction } from '../models';
import { DragAndDropAssetService } from '../editing-services/drag-and-drop-asset.service';
import { TreeItemLookup } from '../../treeitem-lookup.interface';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare const CLUE_OFFSET = 10;
/**
 * @hidden
 */
export declare const RETURN_ANIMATION_DURATION = 200;
/**
 * @hidden
 */
export declare class DragClueService extends DragAndDropAssetService<DragClueComponent> {
    private returnAnimation;
    private scrollInterval;
    constructor();
    initialize(container: ViewContainerRef, template?: TemplateRef<any>): void;
    ngOnDestroy(): void;
    move(left: number, top: number): void;
    animateDragClueToElementPosition(target: HTMLElement): void;
    cancelReturnAnimation(): void;
    updateDragClueData(action: DropAction, sourceItem: TreeItemLookup, destinationItem: TreeItemLookup): void;
    updateText(text: string): void;
    /**
     * Triggers the first scrollable parent to scroll upwards or downwards.
     * Uses setInterval, so should be called outside the angular zone.
     */
    scrollIntoView({ step, interval }: DragAndDropScrollSettings): void;
    /**
     * Cancels out the on-going scroll animation, if present.
     */
    cancelScroll(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DragClueService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DragClueService>;
}
