import { OnInit, EventEmitter } from '@angular/core';
import { Shared } from "../../../models";
export declare class ContextMenuItem {
    title: string;
    onSelect: (sender: Shared.ITreePickerNode, index: number) => JQueryPromise<Shared.ITreePickerNode>;
    isEnable: (sender: Shared.ITreePickerNode, index: number) => boolean;
    iconClass: string;
    constructor(title: string, onSelect: (sender: Shared.ITreePickerNode, index: number) => JQueryPromise<Shared.ITreePickerNode>, isEnable: (sender: Shared.ITreePickerNode, index: number) => boolean, iconClass: string);
}
export interface ITreePickerScope {
    nodes: Array<Shared.ITreePickerNode>;
    contextMenuActions: Array<ContextMenuItem>;
    onNodeSelected: (sender: Shared.ITreePickerNode) => void;
    onNodeSelecting: (node: Shared.ITreePickerNode, callBack: (options?: any) => void) => void;
    nodeWithContextMenu: Shared.ITreePickerNode;
    showContextMenu: boolean;
    onDblClickNode: (sender: Shared.ITreePickerNode) => void;
    selectingNode: () => void;
    selectNode: (sender: Shared.ITreePickerNode) => void;
    selectContextMenuItem: (sender: ContextMenuItem, node: Shared.ITreePickerNode, index: number) => void;
    isContextMenuItemDisable: (sender: ContextMenuItem, node: Shared.ITreePickerNode, index: number) => boolean;
    expandedIconClass: string;
    collapsedIconClass: string;
    itemIconClass: string;
    dblClickNode: (sender: Shared.ITreePickerNode) => void;
}
export declare class TreePicker implements OnInit {
    nodes: Array<Shared.ITreePickerNode>;
    contextMenuActions: Array<ContextMenuItem>;
    onNodeSelected: Function;
    onNodeSelecting: Function;
    expandedIconClass: string;
    collapsedIconClass: string;
    itemIconClass: string;
    showContextMenu: boolean;
    onDblClickNode: Function;
    nodesChange: EventEmitter<Array<Shared.ITreePickerNode>>;
    contextMenuActionsChange: EventEmitter<Array<ContextMenuItem>>;
    static templateGuid: string;
    private scope;
    constructor();
    ngOnInit(): void;
    link: () => void;
}
export declare class TreePickerTemplate {
    static templateId: string;
    item: Shared.ITreePickerNode;
    selectNode: Function;
    showContextMenu: boolean;
    isContextMenuItemDisable: boolean;
    selectContextMenuItem: Function;
    contextMenuActions: Array<ContextMenuItem>;
    expandedIconClass: string;
    collapsedIconClass: string;
    itemIconClass: string;
    nodeIndex: any;
    dblClickNode: Function;
}
