import { Http } from '@angular/http';
import { MatDialog, MatSnackBar } from '@angular/material';
import { Store } from '@ngrx/store';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/switchMap';
import { HttpErrorService } from '../http-error.service';
import { IProject, ProjectService } from '../redux/project';
/**
 * The UploadSchemaService saves the control schema from the editor to Mixer.
 */
export declare class UploadSchemaService {
    private readonly project;
    private readonly store;
    private readonly dialog;
    private readonly http;
    private readonly httpErr;
    private readonly snackRef;
    constructor(project: ProjectService, store: Store<IProject>, dialog: MatDialog, http: Http, httpErr: HttpErrorService, snackRef: MatSnackBar);
    /**
     * After confirmation, uploads the control schema from the studio to
     * Mixer.
     */
    upload(): void;
    /**
     * Uploads the user's current control schema to their linked Interactive
     * version on Mixer. Can emit a SyntaxError if their current controls are bad.
     */
    private uploadCurrentControls();
    /**
     * Returns whether the user wants to upload their control scehma.
     */
    private confirmCanUpload();
}
