import { INgxFileUploadRequest, NgxFileUploadControl } from "@ngx-file-upload/core";
/**
 * remote control for a single upload, will passed
 * by [NgxFileUploadItem]{@link ../components/NgxFileUploadItem.html} as context.ctrl
 * to the item template.
 *
 * @example
 *
 * <ng-template let-uploadData="data" let-uploadCtrl="ctrl">
 *     <button type="button" *ngIf="!data.hasError" (click)="uploadCtrl.start($event)">start</button>
 *     <button type="button" *ngIf="data.hasError"  (click)="uploadCtrl.retry($event)">retry</button>
 *     <button type="button"                        (click)="uploadCtrl.cancel($event)">cancel</button>
 * </ng-template>
 *
 * <ngx-file-upload-item *ngFor="item of uploads" [template]="myItemTemplate" [upload]="item"></ngx-fileUpload-item>
 */
export declare class Control implements NgxFileUploadControl {
    private upload;
    constructor(upload: INgxFileUploadRequest);
    /**
     * if upload has been failed (http error) it has not completed
     * since connection can be broken or something dont has started yet.
     *
     * Give them a chance for a retry
     */
    retry(event?: MouseEvent): void;
    /**
     * start single upload
     */
    start($event?: MouseEvent): void;
    /**
     * cancel / stop single upload
     */
    stop($event?: MouseEvent): void;
    remove($event?: MouseEvent): void;
    removeInvalidFiles($event?: MouseEvent): void;
    private handleEvent;
}
