/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import type { MaybePromise } from "../util/Promises.js";
import type { Filesystem } from "./Filesystem.js";
/**
 * Base class for filesystem entries (files and directories).
 */
export declare abstract class FilesystemNode {
    abstract readonly kind: "file" | "directory";
    abstract readonly name: string;
    abstract readonly path: string;
    /**
     * Back-reference to the root {@link Filesystem} that owns this node.
     */
    abstract readonly fs: Filesystem;
    abstract exists(): Promise<boolean>;
    abstract stat(): MaybePromise<FilesystemNode.Stat>;
    abstract rename(name: string): Promise<void>;
    abstract delete(): Promise<void>;
}
export declare namespace FilesystemNode {
    interface Stat {
        size: number;
        mtime: Date;
        type: "file" | "directory";
    }
}
//# sourceMappingURL=FilesystemNode.d.ts.map