import type { IProtocolMessage } from './protocol.types.js'; /** * ProtocolParser parses Protocol V2 messages * This class is used by tstest to parse test results from the new protocol format */ export declare class ProtocolParser { private protocolVersion; private inBlock; private blockType; private blockContent; /** * Parse a single line and return protocol messages */ parseLine(line: string): IProtocolMessage[]; /** * Parse protocol version header */ private parseProtocolVersion; /** * Parse TAP version line */ private parseTapVersion; /** * Parse plan line */ private parsePlan; /** * Parse bailout */ private parseBailout; /** * Parse event */ private parseEvent; /** * Check if line is a comment */ private isComment; /** * Parse test result line */ private parseTestResult; /** * Extract inline metadata from line */ private extractInlineMetadata; /** * Remove inline metadata from line */ private removeInlineMetadata; /** * Extract protocol data with specific prefix */ private extractProtocolData; /** * Check if line starts a block */ private isBlockStart; /** * Check if line ends a block */ private isBlockEnd; /** * Extract block type from start line */ private extractBlockType; /** * Finalize current block */ private finalizeBlock; /** * Escape regex special characters */ private escapeRegex; /** * Get protocol version */ getProtocolVersion(): string | null; }