/** * Configuration classes for Neumann client. */ import type { RetryConfig, PartialRetryConfig } from './retry.js'; /** * Configuration for request timeouts. */ export interface TimeoutConfig { /** Default timeout for operations in seconds (default: 30). */ defaultTimeoutS: number; /** Timeout for establishing connections in seconds (default: 10). */ connectTimeoutS: number; /** Timeout for query operations in seconds (default: uses defaultTimeoutS). */ queryTimeoutS?: number; /** Timeout for blob upload operations in seconds (default: 300). */ blobUploadTimeoutS?: number; /** Timeout for blob download operations in seconds (default: 300). */ blobDownloadTimeoutS?: number; } /** * Default timeout configuration. */ export declare const DEFAULT_TIMEOUT_CONFIG: TimeoutConfig; /** * Configuration for gRPC keepalive to detect dead connections. */ export interface KeepaliveConfig { /** Time between keepalive pings in milliseconds (default: 30000). */ timeMs: number; /** Timeout for keepalive ping acknowledgement in milliseconds (default: 10000). */ timeoutMs: number; /** Whether to send keepalive even when no active RPCs (default: true). */ permitWithoutCalls: boolean; } /** * Default keepalive configuration. */ export declare const DEFAULT_KEEPALIVE_CONFIG: KeepaliveConfig; /** * Partial timeout configuration for overrides. */ export type PartialTimeoutConfig = Partial; /** * Partial keepalive configuration for overrides. */ export type PartialKeepaliveConfig = Partial; /** * Complete client configuration. */ export interface ClientConfig { /** Timeout configuration. */ timeout: TimeoutConfig; /** Retry configuration. */ retry: RetryConfig; /** Keepalive configuration. */ keepalive: KeepaliveConfig; } /** * Partial client configuration for overrides. */ export interface PartialClientConfig { timeout?: PartialTimeoutConfig; retry?: PartialRetryConfig; keepalive?: PartialKeepaliveConfig; } /** * Default client configuration. */ export declare const DEFAULT_CLIENT_CONFIG: ClientConfig; /** * Merge partial config with defaults. */ export declare function mergeClientConfig(partial?: PartialClientConfig): ClientConfig; /** * Create a configuration with retry disabled. */ export declare function noRetryConfig(): ClientConfig; /** * Create a configuration for fast failure detection. */ export declare function fastFailConfig(): ClientConfig; /** * Create a configuration for high-latency environments. */ export declare function highLatencyConfig(): ClientConfig; /** * Convert timeout config to gRPC channel options. */ export declare function toGrpcChannelOptions(config: ClientConfig): Record; //# sourceMappingURL=config.d.ts.map