/// import Tree from "./Tree"; import Client from "./Client"; import { EventEmitter } from "events"; import Header from "../protocol/smb2/Header"; export interface AuthenticateOptions { domain: string; username: string; password: string; /** * Force a specific NTLM version instead of auto-negotiation * - 'v1': Force NTLMv1 (less secure but more compatible) * - 'v2': Force NTLMv2 (more secure, less compatible with some servers) * - undefined: Auto-detect based on server response (default) */ forceNtlmVersion?: 'v1' | 'v2'; } interface Session { on(event: "authenticate" | "logoff", callback: (session: Session) => void): this; once(event: "authenticate" | "logoff", callback: (session: Session) => void): this; } declare class Session extends EventEmitter { client: Client; _id: string; authenticated: boolean; connectedTrees: Tree[]; constructor(client: Client); connectTree(path: string): Promise; createRequest(header?: Header, body?: any): import("../protocol/smb2/Request").default; request(header?: Header, body?: any): Promise; authenticate(options: AuthenticateOptions): Promise; private registerTree; logoff(): Promise; } export default Session;