import { Base, ItemValue, QuestionSelectBase, ITargets } from "survey-core";
import { SurveyCreatorModel } from "../creator-base";
import "./item-value.scss";
import { IExpandCollapseChoice } from "../expand-collapse-manager";
export declare class ItemValueWrapperViewModel extends Base implements IExpandCollapseChoice {
    creator: SurveyCreatorModel;
    question: QuestionSelectBase;
    item: ItemValue;
    isNew: boolean;
    isDragging: boolean;
    isDragDropGhost: boolean;
    isDragDropMoveDown: boolean;
    isDragDropMoveUp: boolean;
    ghostPosition: string;
    constructor(creator: SurveyCreatorModel, question: QuestionSelectBase, item: ItemValue);
    private dragOrClickHelper;
    private allowItemOperations;
    private canTouchItems;
    private focusCameFromDown;
    private collectionProperty;
    get canBeDragged(): boolean;
    private isBanStartDrag;
    private updateNewItemValue;
    private registerOnPropertyChanged;
    private get collectionPropertyName();
    onPointerDown(pointerDownEvent: PointerEvent): boolean;
    startDragItemValue: (pointerDownEvent: PointerEvent, targets: ITargets) => void;
    private get dragDropHelper();
    private get expandCollapseManager();
    dispose(): void;
    private getGhostPosition;
    private handleDragDropGhostPositionChanged;
    get isDraggable(): boolean;
    isDraggableItem(item: ItemValue): boolean;
    private getSpecificProp;
    add(model: ItemValueWrapperViewModel): void;
    addNewItem(item: ItemValue, question: QuestionSelectBase, creator: SurveyCreatorModel): void;
    remove(model: ItemValueWrapperViewModel): void;
    onFocusOut(event: any): void;
    private findNextElementIndexToRemove;
    private focusNextElementToRemove;
    private updateIsNew;
    private updateIsNewVisibility;
    get allowRemove(): boolean;
    get tooltip(): string;
    get dragTooltip(): string;
    get allowAdd(): boolean;
    select(model: ItemValueWrapperViewModel, event: Event | undefined): void;
    private isAutoGeneratedItem;
    private canShowPanelValue;
    canShowPanel(): boolean;
    private calcCanShowPanel;
    get showPanel(): boolean;
    set showPanel(val: boolean);
    expandCollapse(val: boolean): void;
    togglePanel(): void;
    private onExpandPanelAtDesign;
    private setupShowPanel;
}
