export interface Flag { label: string; value: number; } export interface NtlmParseOptions { encoding: 'hex' | 'base64'; compact?: boolean; } export declare enum NTLMMessageType { NEGOTIATE_MESSAGE = "NEGOTIATE_MESSAGE (type 1)", CHALLENGE_MESSAGE = "CHALLENGE_MESSAGE (type 2)", AUTHENTICATE_MESSAGE = "NEGOTIATE_MESSAGE (type 3)", UNKNOWN = "unknown (or not yet implemented)" } export interface SecurityBuffer { length: number; allocated: number; offset: number; } export type NTLMEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'latin1' | 'binary' | 'hex'; export interface OSVersionStructure { majorVersion: number; minorVersion: number; buildNumber: number; unknown: number; } export interface NTLMMessage { messageType: NTLMMessageType; domain?: string; } export interface NTLMType1 extends NTLMMessage { messageType: NTLMMessageType.NEGOTIATE_MESSAGE; flags: string; suppliedDomain?: SecurityBuffer; suppliedWorkstation?: SecurityBuffer; osVersionStructure?: OSVersionStructure; domain?: string; workstation?: string; } export interface NTLMType2 extends NTLMMessage { messageType: NTLMMessageType.CHALLENGE_MESSAGE; targetNameSecBuf: SecurityBuffer; flags: string; challenge: string; context?: string; targetInfoSecBuf?: SecurityBuffer; osVersionStructure?: OSVersionStructure; targetNameData: string; targetInfoData?: TargetInfo; domain?: string; } export interface NTLMType3v1 extends NTLMMessage { messageType: NTLMMessageType.AUTHENTICATE_MESSAGE; version: number; lmResponse: SecurityBuffer; ntlmResponse: SecurityBuffer; targetName: SecurityBuffer; userName: SecurityBuffer; workstationName: SecurityBuffer; lmResponseData: LMResponseData; ntlmResponseData: NTLMResponseData; domain: string; username: string; workstation: string; } export interface NTLMType3v2 extends NTLMType3v1 { sessionKey: SecurityBuffer; flags: string; } export interface NTLMType3v3 extends NTLMType3v2 { osVersionStructure: OSVersionStructure; } export type NTLMType3 = NTLMType3v1 | NTLMType3v2 | NTLMType3v3; export type NTLMMessageParsed = NTLMMessage | NTLMType1 | NTLMType2 | NTLMType3; export type TargetInfo = Array; export interface TargetInfoSubBlock { type: number; length: number; content: string; } export interface LMResponseData { hex: string; } export interface NTLMResponseData { hex: string; } //# sourceMappingURL=parser-interfaces.d.ts.map