///
///
///
import File from "./File";
import type Session from "./Session";
import Directory from "./Directory";
import { EventEmitter } from "events";
import type Header from "../protocol/smb2/Header";
import type Response from "../protocol/smb2/Response";
interface Tree {
on(event: "connect" | "disconnect", callback: (tree: Tree) => void): this;
once(event: "connect" | "disconnect", callback: (tree: Tree) => void): this;
}
declare class Tree extends EventEmitter {
session: Session;
_id: number;
connected: boolean;
connecting: boolean;
openFiles: File[];
openDirectories: Directory[];
constructor(session: Session);
connect(path: string): Promise;
disconnect(): Promise;
createDirectory(path: string): Promise;
removeDirectory(path: string): Promise;
renameDirectory(path: string, newPath: string): Promise;
watch(onChange?: (response: Response) => void, recursive?: boolean): Promise<() => Promise>;
watchDirectory(path: string, onChange: (response: Response) => void, recursive?: boolean): Promise<() => Promise>;
readDirectory(path?: string): Promise;
exists(path: string): Promise;
createFile(path: string, content?: Buffer | string): Promise;
createFileWriteStream(path: string): Promise;
removeFile(path: string): Promise;
renameFile(path: string, newPath: string): Promise;
readFile(path: string): Promise;
createFileReadStream(path: string): Promise;
private registerFile;
private registerDirectory;
createRequest(header?: Header, body?: any): import("../protocol/smb2/Request").default;
request(header?: Header, body?: any): Promise;
}
export default Tree;