import { Http } from '@angular/http';
import { MatDialog, MatSnackBar } from '@angular/material';
import { Store } from '@ngrx/store';
import { HttpErrorService } from './http-error.service';
import { IProject } from './redux/project';
/**
 * The BundleUploadService triggers the dev server to bundle and save the
 * custom control set to the Interactive studio.
 */
export declare class BundleUploadService {
    private readonly store;
    private readonly http;
    private readonly snackRef;
    private readonly dialog;
    private readonly httpErr;
    constructor(store: Store<IProject>, http: Http, snackRef: MatSnackBar, dialog: MatDialog, httpErr: HttpErrorService);
    /**
     * Upload starts a bundle upload. The promise resolve when the process
     * completes, or the user is shown an error.
     */
    upload(): Promise<void>;
    /**
     * Displays a generic unknown error in a toast.
     */
    private showGenericError(err);
    /**
     * Prompts the user to rename their bundle, rerunning the upload on success.
     */
    private renameBundle();
    /**
     * Notifies the user that they cannot use eval functions in their bundle.
     */
    private notifyNoEval();
}
