/**
 * Cursor Protobuf Encoder
 * Implements ConnectRPC protobuf wire format encoding
 */
import { type WireType, type RoleType, type CursorTool, type CursorToolResult } from './cursor-protobuf-schema.js';
/**
 * Encode a varint (variable-length integer)
 */
export declare function encodeVarint(value: number): Uint8Array;
/**
 * Encode a protobuf field (tag + value)
 */
export declare function encodeField(fieldNum: number, wireType: WireType, value: number | string | Uint8Array): Uint8Array;
/**
 * Concatenate multiple Uint8Arrays
 */
export declare function concatArrays(...arrays: Uint8Array[]): Uint8Array;
/**
 * Encode a tool result
 */
export declare function encodeToolResult(toolResult: CursorToolResult): Uint8Array;
/**
 * Encode a conversation message
 */
export declare function encodeMessage(content: string, role: RoleType, messageId: string, isLast: boolean, hasTools: boolean, toolResults: CursorToolResult[]): Uint8Array;
/**
 * Encode instruction text
 */
export declare function encodeInstruction(text: string): Uint8Array;
/**
 * Encode model information
 */
export declare function encodeModel(modelName: string): Uint8Array;
/**
 * Encode cursor settings
 */
export declare function encodeCursorSetting(): Uint8Array;
/**
 * Encode metadata
 */
export declare function encodeMetadata(): Uint8Array;
/**
 * Encode message ID
 */
export declare function encodeMessageId(messageId: string, role: RoleType, summaryId?: string): Uint8Array;
/**
 * Encode MCP tool
 */
export declare function encodeMcpTool(tool: CursorTool): Uint8Array;
/**
 * Wrap payload in ConnectRPC frame (5-byte header + payload)
 */
export declare function wrapConnectRPCFrame(payload: Uint8Array, compress?: boolean): Uint8Array;
//# sourceMappingURL=cursor-protobuf-encoder.d.ts.map