/** * @license * Copyright Google LLC 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.dev/license */ import { Observable } from 'rxjs'; import { Path, PathFragment } from '../path'; import { FileBuffer, HostWatchEvent, HostWatchOptions, Stats } from './interface'; import { SimpleMemoryHost, SimpleMemoryHostStats } from './memory'; import { SyncDelegateHost } from './sync'; export type TestLogRecord = { kind: 'write' | 'read' | 'delete' | 'list' | 'exists' | 'isDirectory' | 'isFile' | 'stat' | 'watch'; path: Path; } | { kind: 'rename'; from: Path; to: Path; }; export declare class TestHost extends SimpleMemoryHost { protected _records: TestLogRecord[]; protected _sync: SyncDelegateHost<{}> | null; constructor(map?: { [path: string]: string; }); get records(): TestLogRecord[]; clearRecords(): void; get files(): Path[]; get sync(): SyncDelegateHost<{}>; clone(): TestHost; protected _write(path: Path, content: FileBuffer): void; protected _read(path: Path): ArrayBuffer; protected _delete(path: Path): void; protected _rename(from: Path, to: Path): void; protected _list(path: Path): PathFragment[]; protected _exists(path: Path): boolean; protected _isDirectory(path: Path): boolean; protected _isFile(path: Path): boolean; protected _stat(path: Path): Stats | null; protected _watch(path: Path, options?: HostWatchOptions): Observable; $write(path: string, content: string): void; $read(path: string): string; $list(path: string): PathFragment[]; $exists(path: string): boolean; $isDirectory(path: string): boolean; $isFile(path: string): boolean; }