import * as fsp from "node:fs/promises"; import type { CreateWritableOptions, GetDirectoryOptions, GetFileOptions, IDirectoryHandle, IFileHandle, IFileSystem, IWritableFileStream, RemoveOptions, WriteChunkType } from "../../../shared/file-system.js"; import { type FileSystemDirectoryNameLike as DirectoryNameLike, type FileSystemEntryNameLike as EntryNameLike, type FileSystemFileNameLike as FileNameLike } from "../../../shared/schemas.js"; /** * ファイルストリームへの書き込みを行うクラスです。Node.js のファイルシステムを使用します。 */ declare class WritableFileStream implements IWritableFileStream { #private; /** * `WritableFileStream` の新しいインスタンスを構築します。 * * @param targetPath 書き込み先のファイルパスです。 * @param crswapPath 書き込みが完了するまでの一時的なファイルパスです。 * @param fileHandle 書き込みが完了するまでの一時的なファイルの書き込みに使用する `fsp.FileHandle` オブジェクトです。 */ constructor(targetPath: string, crswapPath: string, fileHandle: fsp.FileHandle); /** * データをファイルに書き込みます。 * * @param data 書き込むデータです。 */ write(data: WriteChunkType): Promise; /** * ストリームを中断し、閉じます。 * * @param reason 中断の理由です。 */ abort(reason?: unknown): Promise; /** * ストリームへの書き込みを完了し、閉じます。 */ close(): Promise; } /** * ファイルのハンドル(操作を可能にする参照)を行うクラスです。ファイルへのアクセスや、書き込み可能なストリームの作成を可能にします。 */ declare class FileHandle implements IFileHandle { /** * ファイルの絶対パスです。 */ readonly path: string; /** * `FileHandle` の新しいインスタンスを構築します。 * * @param filePath ファイルの絶対パスです。 */ constructor(filePath: string); /** * ファイルの内容を取得します。 * * @returns Node.js の `buffer.File` オブジェクトです。 */ getFile(): Promise; /** * ファイルへの書き込みが可能なストリームを作成します。 * * @param options ファイルへの書き込みが可能なストリームを作成する際のオプションです。 * @returns ファイルストリームへの書き込みを行うクラスのインスタンスです。 */ createWritable(options: CreateWritableOptions): Promise; } /** * ディレクトリーのハンドル(操作を可能にする参照)を行うクラスです。ファイルやサブディレクトリーへのアクセスを可能にします。 */ declare class DirectoryHandle implements IDirectoryHandle { #private; /** * ディレクトリーの絶対パスです。 */ readonly path: string; /** * `DirectoryHandle` の新しいインスタンスを構築します。 * * @param dirPath ディレクトリーの絶対パスです。 */ constructor(dirPath: string); /** * ディレクトリー直下から指定のアイテムを削除します。 * * @param name 削除するアイテムの名前です。 * @param options 削除時のオプションです。 */ removeEntry(name: EntryNameLike, options: RemoveOptions): Promise; /** * 指定した名前のファイルハンドルを取得します。 * * @param name 取得するファイルの名前です。 * @param options ファイル取得時のオプションです。 * @returns ファイルのハンドル(操作を可能にする参照)を行うクラスのインスタンスです。 */ getFileHandle(name: FileNameLike, options: GetFileOptions): Promise; /** * 指定した名前のディレクトリーハンドルを取得します。 * * @param name 取得するディレクトリーの名前です。 * @param options ディレクトリー取得時のオプションです。 * @returns ディレクトリーのハンドル(操作を可能にする参照)を行うクラスのインスタンスです。 */ getDirectoryHandle(name: DirectoryNameLike, options: GetDirectoryOptions): Promise; } /** * ファイルシステムを操作するための基本的な機能を提供するクラスです。 * ファイルシステムの接続、切断、およびディレクトリーへのアクセスを可能にします。 */ export default class LocalFileSystem implements IFileSystem { #private; /** * `NodeFs` の新しいインスタンスを構築します。 * * @param rootDir 操作の基準となるルートディレクトリーのパスです。デフォルトは現在のディレクトリです。 */ constructor(rootDir?: string | undefined); /** * ファイルシステムへの接続を開きます。 */ open(): Promise; /** * ファイルシステムへの接続を閉じます。 */ close(): Promise; /** * ルートディレクトリーを基準に、指定した名前のディレクトリーハンドルを取得します。 * * @param name 取得するディレクトリーの名前です。 * @param options ディレクトリー取得時のオプションです。 * @returns ディレクトリーのハンドル(操作を可能にする参照)を行うクラスのインスタンスです。 */ getDirectoryHandle(name: DirectoryNameLike, options: GetDirectoryOptions): Promise; } export {}; //# sourceMappingURL=local-file-system.d.ts.map