/**
 * Type conversion utilities between gRPC proto types and JavaScript types.
 */
import { Response } from '../response';
import { GraphType, HealthStatus, CacheType, GraphInfo } from '../types';
import { GqldbConfig } from '../config';
import { Session } from '../session';
import { QueryConfig } from '../client';
/**
 * Build a GQL request from config.
 */
export declare function buildGqlRequest(query: string, session: Session | null, config: GqldbConfig, queryConfig?: QueryConfig): any;
/**
 * Build parameters array for gRPC.
 */
export declare function buildParameters(params?: Record<string, any>): any[];
/**
 * Convert gRPC response to Response object.
 */
export declare function convertGqlResponse(grpcResponse: any): Response;
/**
 * Convert gRPC TypedValue to JS value.
 * Uses the same decoding logic as typedValueToJS for consistency.
 */
export declare function convertTypedValue(tv: any): any;
/**
 * Convert proto properties map to JS object.
 */
export declare function convertProtoProperties(protoProps: Record<string, any>): Record<string, any>;
/**
 * Convert GraphInfo from proto to JS object.
 */
export declare function convertGraphInfo(g: any): GraphInfo;
/**
 * Map GraphType enum to proto string.
 */
export declare function graphTypeToProto(graphType: GraphType): string;
/**
 * Map proto string to GraphType enum.
 */
export declare function protoToGraphType(proto: string): GraphType;
/**
 * Map proto HealthStatus to enum.
 */
export declare function protoToHealthStatus(proto: string): HealthStatus;
/**
 * Map CacheType to proto string.
 */
export declare function cacheTypeToProto(cacheType: CacheType): string;
/**
 * Convert NodeData to proto format.
 */
export declare function nodeDataToProto(node: any): any;
/**
 * Convert EdgeData to proto format.
 */
export declare function edgeDataToProto(edge: any): any;
