/// /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { Observable } from 'rxjs/Observable'; import { CreateFileAction } from '../tree/action'; import { UpdateBuffer } from '../utility/update-buffer'; import { SimpleSinkBase } from './sink'; export interface VirtualFileSystemSinkHost { write(path: string, content: Buffer): Observable; delete(path: string): Observable; exists(path: string): Observable; rename(path: string, to: string): Observable; } export declare abstract class VirtualFileSystemSink extends SimpleSinkBase { protected _host: VirtualFileSystemSinkHost; protected _force: boolean; protected _filesToDelete: Set; protected _filesToRename: Set<[string, string]>; protected _filesToCreate: Map; protected _filesToUpdate: Map; constructor(_host: VirtualFileSystemSinkHost, _force?: boolean); protected _validateCreateAction(action: CreateFileAction): Observable; protected _validateFileExists(p: string): Observable; protected _overwriteFile(path: string, content: Buffer): Observable; protected _createFile(path: string, content: Buffer): Observable; protected _renameFile(from: string, to: string): Observable; protected _deleteFile(path: string): Observable; _done(): Observable; }