import { EventEmitter } from '@angular/core'; import { Observable } from 'rxjs/Observable'; export { DomHandler } from '../dom/domhandler'; export interface DialogControl { value: any; text: string; } export interface ConfirmationDialogControl { multiselect: boolean; controls: DialogControl[]; rvalidation?: boolean; errormsg?: string; msgcss?: string; } export interface AutoCompleteHeaderColumnMeta { field: string; header: string; width?: string; } export interface SortMeta { field: string; order: number; } export interface LazyLoadEvent { first?: number; rows?: number; sortField?: string; sortOrder?: number; multiSortMeta?: SortMeta[]; filters?: { [s: string]: FilterMetadata; }; globalFilter?: any; } export interface FilterMetadata { value?: any; matchMode?: string; } export interface MenuItem { label?: string; icon?: string; command?: (event?: any) => void; url?: string; routerLink?: any; eventEmitter?: EventEmitter; items?: MenuItem[]; expanded?: boolean; disabled?: boolean; visible?: boolean; target?: string; } export interface Message { severity?: string; summary?: string; detail?: string; } export interface SelectItem { label: string; value: any; } export interface TreeNode { label?: string; data?: any; icon?: any; expandedIcon?: any; collapsedIcon?: any; children?: TreeNode[]; leaf?: boolean; expanded?: boolean; type?: string; parent?: TreeNode; partialSelected?: boolean; styleClass?: string; draggable?: boolean; droppable?: boolean; selectable?: boolean; } export interface Confirmation { message: string; key?: string; icon?: string; header?: string; accept?: Function; reject?: Function; acceptVisible?: boolean; rejectVisible?: boolean; control?: ConfirmationDialogControl; acceptEvent?: EventEmitter; rejectEvent?: EventEmitter; } export interface BlockableUI { getBlockableElement(): HTMLElement; } export declare class ConfirmationService { private requireConfirmationSource; private acceptConfirmationSource; requireConfirmation$: Observable; accept: Observable; confirm(confirmation: Confirmation): this; onAccept(): void; } export interface TreeNodeDragEvent { tree?: any; node?: TreeNode; subNodes?: TreeNode[]; index?: number; scope?: any; } export declare class TreeDragDropService { private dragStartSource; private dragStopSource; dragStart$: Observable; dragStop$: Observable; startDrag(event: TreeNodeDragEvent): void; stopDrag(event: TreeNodeDragEvent): void; }