import { EventEmitter, AfterContentInit, OnDestroy, NgZone, Type, ElementRef } from "@angular/core"; import { Http, Headers, Response, RequestMethod, URLSearchParams } from "@angular/http"; import { Subject } from "rxjs/Subject"; export declare class UploadDirective { private http; private onUpload; private options; constructor(http: Http); onChange(event: Event): void; onDrop(event: DragEvent): void; private upload(files); private static defaultHeaders(); } export declare class LocalUploadDirective implements AfterContentInit, OnDestroy { ref: ElementRef; zone: NgZone; mouseIsOver: boolean; fileIn: EventEmitter; constructor(ref: ElementRef, zone: NgZone); ngAfterContentInit(): void; ngOnDestroy(): void; } export declare class GlobalUploadDirective implements AfterContentInit, OnDestroy { zone: NgZone; mouseIsOver: boolean; globalFileIn: EventEmitter; constructor(zone: NgZone); ngAfterContentInit(): void; ngOnDestroy(): void; } export declare const UPLOAD_DIRECTIVES: Type[]; export interface UploadOptions { url?: string; headers?: Headers; method?: string | RequestMethod; search?: string | URLSearchParams; maxFiles?: number; exclude?: (f: File, index: number) => boolean; nameGenerator?: (f: File, index: number) => string; } export interface UploadEvent { item: File; name: string; response: Response; onFinish: Subject; }